ESTRUCTURAS DE CONTROL EN PYTHON · Tema 4: Funciones avanzadas en Python

Evaluación UT04 es un examen público disponible en TesIA Exam con preguntas de 1 bloques. Esta ficha pública reúne preguntas con respuesta correcta y explicación para estudiar por examen completo. Trabaja especialmente temas como Tema 4: Funciones avanzadas en Python. La referencia de centro o procedencia visible es CIFP Cesar Manrique.

15 preguntas Estructuras de Control en Python CIFP Cesar Manrique Referencia: Evaluación UT04

Qué puedes encontrar en este examen

Cada URL pública de examen sirve para localizar el contenido, entender qué bloques toca y revisar preguntas reales antes de abrir la práctica completa.

Tema 4: Funciones avanzadas en Python

Preguntas, respuestas y explicaciones del examen

Listado público de preguntas asociadas a este examen, con respuesta correcta y explicación cuando está disponible.

#1

Pregunta 3. Selecciona los tipos válidos de argumentos que admite Python

  1. A) Argumentos nominales (keywords)
  2. B) Argumentos de puntero de memoria directa
  3. C) Argumentos por defecto
  4. D) Argumentos posicionales.
Respuesta correcta
  • A) Argumentos nominales (keywords)
  • C) Argumentos por defecto
  • D) Argumentos posicionales.
Explicación:

La respuesta correcta es A, C y D. Python permite definir funciones con argumentos que se pasan por su posición, por su nombre (keywords) o que tienen un valor predefinido si se omiten.

#2

Pregunta 8. Según el ámbito, las variables pueden ser

  1. A) Globales
  2. B) Privadas del sistema operativo
  3. C) Temporales de hardware
  4. D) Locales
Respuesta correcta

A) Globales

Explicación:

La respuesta correcta es A. La respuesta correcta es Globales y Locales. En Python, el ámbito define la visibilidad de una variable: las locales existen dentro de funciones y las globales en todo el módulo.

#3

Pregunta 6. Empareja el concepto con su definición

Tipo: relacionar columnas.

Columna A

  • Docstrings
  • Argumento
  • Wrapper
  • Recursión

Columna B

  • Documentación integrada
  • Valor enviado a la función
  • Función que envuelve a otra
  • Función que se llama a sí misma
Respuesta correcta
  • Docstrings -> Documentación integrada
  • Argumento -> Valor enviado a la función
  • Wrapper -> Función que envuelve a otra
  • Recursión -> Función que se llama a sí misma
Explicación:

La respuesta correcta relaciona los términos técnicos con su función dentro del lenguaje. Los Docstrings sirven para documentar, los argumentos para pasar datos y la recursión para la auto-invocación lógica. El término 'wrapper' es fundamental en el estudio de decoradores, ya que es la función encargada de añadir funcionalidad extra.

#4

Pregunta 7. ¿Qué elementos forman parte de la cabecera o firma de la función

  1. A) Nombre de la Función
  2. B) bloque de código indentado
  3. C) La documentación docstring
  4. D) Lista de parámetros
Respuesta correcta
  • A) Nombre de la Función
  • D) Lista de parámetros
Explicación:

La respuesta correcta es A y D. La firma o cabecera de una función se define en la línea del 'def' y consta del identificador (nombre) y los paréntesis con sus parámetros.

#5

Pregunta 14. Un decorador típico consta de

  1. A) Un bucle while infinito
  2. B) Una función exterior que recibe la función original
  3. C) Una función interna (wrapper) que añade la lógica
  4. D) Una variable global llamada decorate
Respuesta correcta
  • B) Una función exterior que recibe la función original
  • C) Una función interna (wrapper) que añade la lógica
Explicación:

La respuesta correcta es B y C. La estructura estándar implica una función que toma la original y dentro de ella define un 'wrapper' que ejecuta la lógica extra y llama a la original.

#6

Pregunta 11. En la definición de funcion(*args, **kwargs), ¿qué tipo de estructura de datos almacena '*args'?

  1. A) Una tupla
  2. B) Un conjunto (set)
  3. C) Una lista mutable
  4. D) Un diccionario
Respuesta correcta

A) Una tupla

Explicación:

La respuesta correcta es A. La respuesta correcta es Una tupla. El operador asterisco (*) empaqueta los argumentos posicionales variables en una estructura inmutable llamada tupla.

#7

Pregunta 10. Aunque no se detalla a fondo, si una función usa 'yield' en lugar de 'return' se convierte en:

  1. A) Una función decoradora
  2. B) Un método estático
  3. C) Una función lambda
  4. D) Un generador
Respuesta correcta

D) Un generador

Explicación:

La respuesta correcta es D. La respuesta correcta es Un generador. La palabra clave 'yield' suspende la ejecución de la función y devuelve un valor, permitiendo que la función se reanude más tarde desde donde se quedó.

#8

Pregunta 4. Empareja la palabra clave con su efecto:

Tipo: relacionar columnas.

Columna A

  • global
  • lambda
  • return
  • nonlocal

Columna B

  • Permite modificar variables del módulo
  • Define una función de una sola línea
  • Devuelve un valor de la función
  • Permite modificar variables de funciones externas
Respuesta correcta
  • global -> Permite modificar variables del módulo
  • lambda -> Define una función de una sola línea
  • return -> Devuelve un valor de la función
  • nonlocal -> Permite modificar variables de funciones externas
Explicación:

La respuesta correcta vincula cada palabra clave con su ámbito de actuación específico. 'global' se usa para variables del módulo, mientras que 'nonlocal' actúa sobre variables en funciones anidadas. 'lambda' crea funciones anónimas rápidas y 'return' es la sentencia estándar para enviar un resultado al exterior. Es vital distinguir entre el ámbito global y el ámbito de cierre (closure) manejado por 'nonlocal'.

#9

Pregunta 15. En Sphinx (RST), ¿cuáles son etiquetas válidas?

  1. A) : param:
  2. B) : return:
  3. C) @author
  4. D) : raises:
Respuesta correcta

A) : param:

Explicación:

La respuesta correcta es A. La respuesta correcta es: param: (y aunque el examen muestra varias, se infiere el formato RST). Sphinx utiliza el formato de dos puntos para definir campos como ': param: ', ': return: ' o ': raises: '.

#10

Pregunta 13. Para qué se utiliza la palabra clave 'nonlocal'?

  1. A) Para modificar una variable en el ámbito de la función exterior inmediata (en cierres)
  2. B) Para importar módulos de carpetas superiores
  3. C) Para declarar que una función no devuelve ningún valor
  4. D) Para acceder a una variable global desde una función anidada.
Respuesta correcta

A) Para modificar una variable en el ámbito de la función exterior inmediata (en cierres)

Explicación:

La respuesta correcta es A. La respuesta correcta es Para modificar una variable en el ámbito de la función exterior inmediata. 'nonlocal' permite que una función anidada reasigne un valor a una variable que pertenece a la función que la contiene.

#11

Pregunta 9. Las funciones lambda pueden contener bloques if-else complejos con múltiples líneas

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. also. Por diseño, las funciones lambda en Python están limitadas a una única expresión y no pueden contener sentencias de varias líneas.

#12

Pregunta 2. ¿Qué directiva de Sphinx se usa para resaltar una advertencia en la documentación?

  1. A) warning
  2. B) danger
  3. C) caution
  4. D) attention
Respuesta correcta

A) warning

Explicación:

La respuesta correcta es A. La respuesta correcta es warning. Sphinx utiliza directivas de reStructuredText (reST) para crear bloques de avisos visuales, siendo '.. warning:: ' la específica para advertencias de seguridad o de uso.

#13

Pregunta 1. Cuál es el límite por defecto aproximado de recursividad en Python

  1. A) Infinito, depende de la RAM
  2. B) 100 llamadas
  3. C) 1000 llamadas.
  4. D) 500 llamadas
Respuesta correcta

C) 1000 llamadas.

Explicación:

La respuesta correcta es C. La respuesta correcta es 1000 llamadas. Python establece este límite de seguridad para evitar que una función recursiva mal diseñada agote la memoria de la pila (stack) y provoque un cierre inesperado del intérprete.

#14

Pregunta 12. Un decorador modifica permanentemente el código fuente de la función original

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. also. Los decoradores no alteran el archivo.py ni el código interno de la función, sino que la envuelven en otra función en tiempo de ejecución.

#15

Pregunta 5. Una función recursiva siempre es más eficiente en memoria que un bucle tradicional

  1. A) Verdadero
  2. B) Falso
Respuesta correcta

B) Falso

Explicación:

La respuesta correcta es B. also. Cada llamada recursiva añade una nueva capa a la pila de llamadas (stack frame), lo que consume memoria adicional de forma lineal.

Temas incluidos

Otros exámenes de Estructuras de Control en Python

Practicar este examen

Puedes abrir TesIA Exam y localizar este examen con el mismo nombre para practicarlo en modo estudio o examen, revisar respuestas y continuar tu progreso.