logo

Funciones de primera clase en Python

En Python, las funciones se tratan como objetos de primera clase. Esto significa que se pueden usar como cadenas de números o cualquier otra variable. Puede:

  • Asignar funciones a variables.
  • Páselos como argumentos para otras funciones.
  • Devuélvelos de funciones.
  • Almacénelos en estructuras de datos como listas o diccionarios.

Esta capacidad le permite escribir código potente, modular y reutilizable.

Características de las funciones de primera clase

Las funciones en Python tienen las siguientes características importantes. Veámoslos uno por uno con ejemplos:



1. Asignar funciones a variables

Podemos asignar una función a una variable y usar la variable para llamar a la función.

Ejemplo:

Python
def msg(name): return f'Hello {name}!' # Assigning the function to a variable f = msg # Calling the function using the variable print(f('Emma')) 

Producción
Hello Emma! 

Explicación:

  • La función mensaje se asigna a la variable f.
  • Ahora f se puede usar para llamar a msg y mostrar que las funciones se comportan como variables.

2. Pasar funciones como argumentos

Las funciones pueden ser pasado como argumentos a otras funciones que permiten funciones de orden superior .

Ejemplo:

Python
def msg(name): return f'Hello {name}!' def fun1(fun2 name): return fun2(name) # Passing the msg function as an argument print(fun1(msg 'Alex')) 

Producción
Hello Alex! 

Explicación:

  • La función fun1 toma otra función (fun2) como entrada.
  • msg se pasa a fun1 que luego lo llama con 'Alex'.

3. Devolver funciones de otras funciones

Una función puede devolver otra función permitiendo la creación de fábricas de funciones.

Ejemplo:

java leer archivo csv
Python
def fun1(msg): def fun2(): return f'Message: {msg}' return fun2 # Getting the inner function func = fun1('Hello World!') print(func()) 

Producción
Message: Hello World! 

Explicación:

  • La función fun1 define otra función fun2 y la devuelve.
  • func almacena la función devuelta fun2 que se puede ejecutar más tarde.

Las funciones se pueden almacenar en estructuras de datos como liza o diccionarios .

Ejemplo:

Python
def add(x y): return x + y def subtract(x y): return x - y # Storing functions in a dictionary d = { 'add': add 'subtract': subtract } # Calling functions from the dictionary print(d['add'](5 3)) print(d['subtract'](5 3)) 

Producción
8 2 

Explicación:

  • Las funciones de sumar y restar se almacenan en un diccionario.
  • Se accede a ellos mediante sus claves y se ejecutan directamente.
Prueba sugerida Editar cuestionario 8 preguntas

¿Cuál de las siguientes describe mejor una función de primera clase en lenguajes de programación?

  • A

    Una función que solo se puede llamar desde dentro de su propio alcance.

  • B

    Una función que se puede asignar a variables pasadas como argumentos y devueltas por otras funciones como cualquier otro objeto.

  • do

    Una función que solo se puede definir en el nivel superior de un módulo.

  • D

    Una función que solo se puede ejecutar en un contexto específico.

Explicación:


En el contexto de las funciones de primera clase, ¿qué es una función de orden superior?

  • A

    Una función que solo puede devolver tipos de datos primitivos.

  • B

    Una función que puede tomar otras funciones como argumentos o devolverlas como resultados.

  • do

    Una función que está definida dentro de otra función pero que no se puede devolver.

  • D

    Una función que se ejecuta en un hilo separado.

Explicación:


¿Cuál será el resultado del siguiente código?

saludo definido (nombre):

return f'Hola {nombre}'


decir_hola = saludar

imprimir(decir_hola('Geek'))

  • A

    hola saludo

  • B

    saludar

  • do

    Hola friki

  • D

    Error de tipo

Explicación:

Las funciones se pueden asignar a variables. Aquí say_hello se convierte en otra referencia para saludar.

¿Cuál de las siguientes no es una propiedad de las funciones de primera clase?

  • A

    Las funciones se pueden almacenar en estructuras de datos.

  • B

    Se pueden asignar funciones a variables.

  • do

    Las funciones pueden devolver otras funciones.

  • D

    Las funciones solo pueden devolver tipos primitivos

Explicación:

Las funciones de primera clase pueden devolver cualquier tipo, incluidas otras funciones, sin limitarse a las primitivas.

¿Cuál será el resultado de este código?

def exterior():

10 de 10

definición interna():

devolver 'función interna'

volver interior

func = exterior()

imprimir(función())

  • A

    función interna

  • B

    interno

  • do

    exterior

  • D

    Error

Explicación:

outside() devuelve la función interna y func() la llama y devuelve su cadena.

¿Cuál de las siguientes NO es una característica de las funciones de primera clase?

  • A

    Se pueden asignar a variables.

  • B

    Se pueden pasar como argumentos a otras funciones.

  • do

    Sólo se pueden definir una vez en un programa.

  • D

    Se pueden devolver desde otras funciones.

Explicación:


¿Cuál es el resultado del siguiente código?

def hacer_multiplicador(n):

multiplicador de definición(x):

devolver x * n

multiplicador de retorno

doble = hacer_multiplicador(2)

imprimir(doble(5))

  • A

    7

  • B

    10

  • do

    25

  • D

    Error

Explicación:

make_multiplier(2) devuelve una función que multiplica su argumento por 2. Entonces double(5) devuelve 10.



¿Cómo trata Python las funciones con respecto a las variables?

  • A

    Las funciones son objetos estáticos.

    cómo utilizar el banco de trabajo mysql
  • B

    Las funciones son constantes y no se pueden reasignar.

  • do

    Las funciones son ciudadanas de primera clase y se pueden almacenar, aprobar y reasignar.

  • D

    Las funciones deben declararse globales para ser utilizadas.

Explicación:

Ser ciudadanos de primera clase significa que las funciones se pueden asignar, pasar y devolver como otros objetos.

Funciones de primera clase en PythonPrueba completada con éxito Su puntuación:  2/8Exactitud : 0%Inicie sesión para ver la explicación 1/8 1/8 < Previous Siguiente >