Tecnología

Inicio

Funciones de primera clase en Python

lenguajes de programación orientados a objetos se componen fundamentalmente de objetos "de primera clase". Estos objetos representan los tipos de datos complejos creados por el programador. El lenguaje de programación Python se 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 datos de la misma manera que usarían variables y objetos. Para entender lo que de primera clase son las funciones, 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 de la "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 los valores y las funciones de muchos datos. Sin embargo, los objetos siguen actuando igual que otros tipos de datos en que puedan crearse, destruirse, copiados y usados ​​como argumentos para otras funciones.

De primera clase de objetos

objetos de primera clase son objetos que pueden crearse o destruirse o utilizarse como argumentos de 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ódigo C ++.

Python y objetos

Un dicho popular sobre el lenguaje de programación Python dice que "todo es un objeto." El dicho es cierto. Todo en Python actúa 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 tienen también un conjunto 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. La segunda vez, 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 puede utilizar las variables locales dentro de la función que la llamó:

func1 def (x):

. . . volver x 3 *

func2 def (f, y): // "f" representa una función, pero se ve igual que una variable

. . . retorno f (y) // Python sabe f es una función, ya que se utiliza como uno

func2 (func1, 3)

9