Article image
Luan Pereira
Luan Pereira18/04/2024 03:04
Compartilhe

Entendendo melhor o contexto de Objetos de primeira classe (funções) em Python.

  • #Python

Neste artigo, compartilho minha jornada ao tentar compreender os objetos de primeira classe em Python. Como muitos de vocês, também enfrentei dificuldades, mas após muito esforço, finalmente consegui consolidar meu entendimento sobre o assunto.

Objetos de primeira classe (Funções) Com Python.

Em Python tudo é objeto, dessa forma funções também são objetos o que as tornam objetos de primeira classe.

Com isso podemos atribuir funções a variáveis, passá-las como parâmetro para funções, usá-las como valores em estruturas de dados (listas, tuplas, dicionários, etc) e usar como valor de retorno para uma função (closures).

Exemplo:

image

Bom, vamos lá, na primeira função criada, temos uma equação básica, que é simplesmente para somar 2 números.

Já na segunda função, ela foi criada para reutilizar a função somar.

Primeiro adicionamos nela 3 argumentos ao invés de apenas 2 (na segunda opção pode adicionar quantos argumentos quiser).

Nesse caso declaramos como o terceiro argumento a palavra "funcao", ela é apenas uma referência para ser utilizada pela função anterior.

Pensa nisso como se toda vez que utilizemos a palavra "funcao" é como se ela estivesse chamando a função anterior que nesse exemplo é a "somar".

Na segunda linha da função 2, declaramos uma nova variável chamada "resultado" e nela atribuímos o valor funcao(a, b), como se estivéssemos fazendo a equação da primeira função, porém sem utilizar operações aritméticas.

Na ultima linha pedimos para imprimir o resultado da operação.

Por último executamos a função "exibir_resultado" colocando dentro dela os valores de a, b e adicionando a função somar.

Aqui podemos ver outro exemplo, onde mostra a forma como o elemento 'funcao' da variável 'exibir_resultado', consegue chamar a função anterior, independente de qual ela seja.

Exemplo:

image

Aqui mostra que no momento que colocarmos para executar a função "exibir_resultado", ele vai aceitar tanto o a primeira função, quanto a segunda, contanto que seja aceitável a forma como a função é descrita.

Também é possível atribuir essa função a uma variável, fazendo assim com que o código fique mais flexível e legível.

Exemplo:

image

Caso queira adicionar uma frase junto ao valor, podemos fazer da seguinte forma.

Exemplo:

image

Eu gostaria de deixar uma observação:

Não é necessário adicionar os argumentos iguais da função 1 na função 2.

Isso faz com que o código fique mais legível e com que os seus colegas de trabalho consigam entender o código de maneira mais fácil.

Embaixo tenho outro exemplo de como escrever o código dessa forma.

Exemplo:

image

Espero que eu tenha te ajudado com seus estudos, boa sorte!

Compartilhe
Comentários (0)