lenguajes de programación orientados a objetos consisten principalmente en objetos " de primera clase " . Estos objetos representan tipos de datos complejos creados por el programador . El lenguaje de programación Python extiende la noción de lo que es un objeto. En Python, todo es un objeto , incluyendo funciones. Esto significa que un programador puede utilizar funciones como los datos de la misma manera que usarían variables y objetos . Para entender lo que las funciones de primera clase son , el programador debe entender la programación orientada a objetos, funciones , y cómo los dos trabajan juntos en Python. Objetos
En la programación orientada a objetos, el concepto clave es el del " objeto". Un objeto es un tipo de datos creado por un programador para representar una entidad con datos y funciones . Mientras que otros tipos de datos son simples representaciones de valor, tales como números enteros o caracteres , los objetos son complejos , incluyendo muchos de los valores y funciones de datos. Sin embargo , los objetos siguen actuando igual que otros tipos de datos en la que se pueden crear , destruir , copiados y utilizados como argumentos para otras funciones.
Primera clase Objetos
Primera objetos de clase son objetos que se pueden crear o destruir , o se utilizan como argumentos a funciones. En la mayoría de los lenguajes de programación orientados a objetos , todos los objetos son objetos de primera clase . Sin embargo, otras entidades , como las funciones , no son objetos de primera clase . Una función en C + + no se comporta como un objeto en C + + se comporta , por lo que hay una clara diferencia entre los dos en la aplicación de C + + código.
Python y objetos
< p> un refrán popular sobre el lenguaje de programación Python , dice que " todo es un objeto . " El dicho es cierto . Todo en Python no actuar como un objeto. En concreto , las funciones son objetos de primera clase en Python. Esto hace que las funciones de " funciones de primera clase " que los programadores pueden pasar como argumentos a otras funciones. Esto significa que las funciones también tienen una serie de atributos similares a las clases , que almacenan datos sobre un caso particular de una función de ejecución.
Ejemplos
En este ejemplo, el programador crea dos funciones simples . La primera se define como una función normal, con un argumento variable. El segundo se utiliza la primera función en la lista de parámetros . La segunda función se puede llamar a la primera función dentro de su definición. La función llamada dentro de la otra función se puede utilizar las variables locales dentro de la función que la llamó :
>>> def func1 (x ) :
. . . return x * 3
>>> def func2 (f, y): //"f " representa una función, pero tiene el mismo aspecto como una variable
. . . regreso f ( y) //Python sabe f es una función , ya que se utiliza como uno
>>> func2 ( func1 , 3 )
9