WorksheetsMaestría en Funciones Python
Total questions: 20
Worksheet time: 10mins
Según la filosofía presentada en el manual, ¿cuál es el principio fundamental que busca evitar la repetición de código y reescribir la misma lógica múltiples veces?
Principio FIFO (First In, First Out)
Principio DRY (Don't Repeat Yourself)
Principio KISS (Keep It Simple, Stupid)
Principio de Incertidumbre
Concepto: Sintaxis Básica
En Python, ¿qué elemento sintáctico define qué líneas de código pertenecen al bloque interno de una función y cuáles están fuera?
El uso de llaves { }
El punto y coma al final de la línea ;
La indentación (sangría)
La palabra clave end
Análisis de Código: Return vs Print
Analiza el siguiente código: ¿Qué valor se almacenará finalmente en la variable valor?
20
10
None
Error de sintaxis
¿Cuál es la principal diferencia funcional entre print() y return dentro de una función?
Print finaliza la función inmediatamente, return no.
Return muestra texto al usuario, print guarda datos en variables.
Print es solo para texto, return es solo para números.
Print muestra información en pantalla, return entrega un valor al programa.
Según la regla LEGB de alcance de variables (Scope), ¿dónde busca Python una variable primero?
En el ámbito Global (G)
En el ámbito Local (L)
En las funciones Nativas (B)
En el archivo externo importado
Análisis de Código
Mutabilidad Analiza el siguiente código: ¿Cuál será el resultado en pantalla?
[1, 2, 3]
[1, 2, 3, 4]
[4]
Error
Para evitar que una función modifique accidentalmente una lista original, ¿qué técnica se recomienda usar al llamar a la función?
Usar la palabra clave freeze
Pasar una copia usando slicing [:]
Convertir la lista a un diccionario
Usar una función global
Análisis de Código
Argumentos por Defecto Analiza el siguiente código: ¿Qué imprimirá el código?
Hola, Ana
Ana, Hola
Error de argumentos
None
¿Cuál es la diferencia técnica entre Parámetro y Argumento?
Son sinónimos exactos.
El Argumento es la variable en la definición; el Parámetro es el valor enviado.
El Parámetro es la variable en la definición (el espacio vacío); el Argumento es el valor real enviado al llamar la función.
Los parámetros solo aceptan números, los argumentos solo texto.
Análisis de Código: Args
Analiza el siguiente código ¿En qué tipo de estructura de datos agrupa Python los valores 1, 2 y 3 dentro de la función?
Una Lista (List)
Una Tupla (Tuple)
Un Diccionario (Dictionary)
Un String
¿Qué permite hacer el operador especial **kwargs en una definición de función?
Recibir infinitos argumentos numéricos para sumar.
Recibir cualquier cantidad de argumentos con nombre (clave=valor) en un diccionario.
Obligar a que los argumentos sean palabras clave reservadas.
Devolver múltiples valores al mismo tiempo.
Análisis de Código: Lambda y Map
Analiza el siguiente código: ¿Qué hace este código?
Filtra los números mayores a 1.
Suma todos los números de la lista (1+2+3).
Transforma la lista sumando 1 a cada elemento, resultando en [2, 3, 4].
Devuelve un error de sintaxis.
¿Cuál es una limitación intencional de las funciones Lambda en Python?
Solo pueden usarse con números enteros.
Son más lentas que las funciones normales.
Están limitadas a una sola línea/expresión para mantener la legibilidad.
No pueden recibir argumentos.
Análisis de Código: Recursividad
Analiza esta función recursiva: ¿Qué parte del código representa el Caso Base?
print(n)
cuenta_regresiva(n - 1)
if n == 0:
def cuenta_regresiva(n):
¿Qué sucede si olvidas incluir un Caso Base en una función recursiva?
La función devuelve None automáticamente.
Ocurre un error de "Desbordamiento de Pila" (Stack Overflow).
Python optimiza el código y lo detiene.
Se convierte automáticamente en un bucle while.
Análisis de Código: Yield
Analiza el siguiente código: ¿Qué valor imprime y en qué estado queda la función?
Imprime 1 y la función termina.
Imprime 1 y 2 simultáneamente.
Imprime 1 y la función se pausa esperando la siguiente llamada.
Imprime [1, 2].
¿Cuál es la principal ventaja de usar Generadores (yield) sobre Listas normales al procesar grandes volúmenes de datos?
Son más fáciles de escribir.
Permiten acceder a los datos de forma aleatoria.
Ahorran memoria RAM al usar "Evaluación Perezosa" (Lazy Evaluation).
Ordenan los datos automáticamente.
Análisis de Código: Método Get
Analiza el siguiente código: ¿Cuál es el resultado?
Error KeyError
None
'No existe'
'Juan'
Concepto: Ordenamiento
¿Qué función nativa de Python usarías para ordenar una lista alfabéticamente SIN modificar la lista original?
lista.sort()
sorted(lista)
order(lista)
lista.reverse()
Concepto: Módulos
Si tienes un archivo llamado matematicas.py en la misma carpeta, ¿cuál es la sintaxis correcta en main.py para importar y usar sus funciones?
include matematicas.py
import matematicas.py
import matematicas
using matematicas
