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:
Pythondef 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:
Pythondef 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 csvPython
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:
Pythondef 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.
¿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.
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.
¿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
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
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
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.
¿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
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.
Ser ciudadanos de primera clase significa que las funciones se pueden asignar, pasar y devolver como otros objetos.
Prueba completada con éxito Su puntuación: 2/8Exactitud : 0%Inicie sesión para ver la explicación 1/8 1/8 < Previous Siguiente >