Funciones de primera clase en Python

Fariba Laiq 21 junio 2023
  1. Propiedades de una función de primera clase en Python
  2. Ejemplos de funciones de primera clase en Python
Funciones de primera clase en Python

Las funciones de primera clase son las funciones que el lenguaje trata como objetos o variables. Podemos asignarlos a una variable o pasarlos como objeto a alguna otra función.

Python admite funciones de primera clase.

Propiedades de una función de primera clase en Python

  • Es una instancia del tipo de objeto.
  • Podemos asignarlo a una variable.
  • Podemos pasarlo como argumento a otra función.
  • Puede devolver una función.
  • Podemos almacenarlo en tablas hash, listas y otras estructuras de datos.

Ejemplos de funciones de primera clase en Python

Funciones como objetos

Asignamos la función square() a una variable my_sq en el siguiente código. Ahora, my_sq es lo mismo que square().

No llamamos a la función cuando escribimos su nombre al asignarlo a la variable. Llamamos a la función my_sq(), que se refiere a la función real.

Como salida, obtenemos el cuadrado del número pasado.

Código de ejemplo:

# Python 3.x
def square(x):
    return x * x


my_sq = square
result = my_sq(2)
print(result)

Producción :

#Python 3.x
4

Pasar una función como argumento a otra función

En el siguiente código, pasamos la función cuadrado() como argumento a la función operación() al igual que pasamos objetos como argumentos.

En ese método, asignamos la función pasada al objeto func, y llamamos a la función square() llamando a func() porque func() se refiere a square() en el back-end .

La función que acepta una función como argumento se llama función de orden superior. Aquí, operación() es una función de orden superior.

Código de ejemplo:

# Python 3.x
def square(x):
    return x * x


def operation(func):
    result = func(2)
    print(result)


operation(square)

Producción :

#Python 3.x
4

Devolver una función desde una función

Podemos devolver una función de otra ya que las funciones son objetos. En el siguiente código, creamos una función operación() que devuelve una función cuadrado().

Guardamos la función devuelta en un objeto sq. Ahora, sq se refiere al método square().

Finalmente, llamamos al método square() hasta sq.

Código de ejemplo:

# Python 3.x
def operation():
    def square(x):
        return x * x

    return square


sq = operation()
result = sq(2)
print(result)

Producción :

#Python 3.x
4
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

Artículo relacionado - Python Function