Funciones de primera clase en Python

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:

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():

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.

  • 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 /8 Exactitud :  0% Inicie sesión para ver la explicación 1 /8 1 /8 < Previous Siguiente >