linguagens de programação orientada a objetos consistem principalmente de objetos " de primeira classe " . Estes objetos representam os tipos de dados complexos criados pelo programador. A linguagem de programação Python se estende a noção de que um objeto é . Em Python, tudo é um objeto , incluindo funções . Isto significa que um programador pode usar funções como dados da mesma forma que usaria variáveis e objetos . Para entender o que funções de primeira classe são , o programador deve entender de programação orientada a objetos, funções , e como os dois trabalham juntos em Python. Objetos
Na programação orientada a objeto, o conceito-chave é a do "objeto ". Um objeto é um tipo de dados criado por um programador para representar uma entidade com dados e funções. Enquanto outros tipos de dados são representações simples de valor , tais como inteiros ou caracteres , os objetos são complexos , incluindo muitos valores e funções de dados . No entanto , os objetos ainda agir como outros tipos de dados na medida em que podem ser criadas , destruídas, copiados e utilizados como argumentos para outras funções.
Primeira Classe Objetos
Primeiro objetos de classe são objetos que podem ser criados ou destruídos ou utilizados como argumentos para funções. Na maioria das linguagens de programação orientadas a objeto , todos os objetos são objetos de primeira classe. Mas outras entidades , tais como funções , não são objetos de primeira classe. Uma função em C + + não se comporta como um objeto em C + + se comporta , então não há uma nítida diferença entre os dois quando a implementação de código C + +.
Python e objetos
um ditado popular sobre a linguagem de programação Python diz que "tudo é um objeto. " O ditado é verdadeiro . Tudo em Python age como um objeto. Especificamente , as funções são objetos de primeira classe em Python. Isso faz com que funções " funções de primeira classe " que os programadores podem passar como argumentos para outras funções. Isso significa que as funções também têm um conjunto de atributos semelhantes às aulas , que armazenam dados sobre um caso particular de uma função de execução.
Exemplos
Neste exemplo, o programador cria duas funções simples . O primeiro que ela define como uma função normal, com um argumento variável. O segundo , em seguida, usa a primeira função na sua lista de argumentos . A segunda função pode então chamar a primeira função dentro de sua definição. A função chamada dentro da outra função pode usar as variáveis locais dentro da função que a chamou :
>>> def func1 (x):
. . . retornar x * 3
>>> def func2 (f, y) : //"f" representa uma função , mas é a mesma de um
variável. . . retorno f ( y) //Python sabe f é uma função , porque ele é usado como um
>>> func2 ( func1 , 3)
9