1/30
Flashcards de preguntas y respuestas basadas en las notas sobre validación de errores, excepciones, funciones, modularidad, arreglos y manipulación de cadenas en Python.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
¿Qué es un error de sintaxis en Python y cuándo se detecta?
Es un error 'gramatical' del lenguaje que Python detecta antes de ejecutar el código, impidiendo que el programa arranque.
¿Qué caracteriza a un error de lógica en Python?
Se ejecuta sin problemas técnicos y sin lanzar excepciones, pero produce resultados incorrectos o un comportamiento inesperado porque la lógica del algoritmo es defectuosa.
¿Qué es una excepción en Python y qué sucede si el programador no la maneja?
Es un evento inesperado que ocurre durante la ejecución e interrumpe el flujo normal del programa. Si no se maneja, el programa se detiene abruptamente y muestra un Traceback (rastreo de pila).
¿Cuáles son las 6 etapas del proceso de excepciones en Python?
¿Cuál es la jerarquía de la clase raíz de excepciones en Python y qué subclases comunes derivan de Exception?
La clase raíz es BaseException, de la que hereda Exception. Esta última incluye subclases comunes como TypeError, ValueError y ZeroDivisionError.
¿En qué consiste el principio 'Divide y Vencerás' en la resolución de problemas?
Consiste en dividir un problema grande y complejo en un conjunto de subproblemas más pequeños y manejables, resolver cada uno individualmente y combinar las soluciones.
¿Qué es el Diseño Descendente (Top-Down Design)?
Es la metodología que aplica formalmente la estrategia 'Divide y Vencerás', comenzando por la visión más general y abstracta del programa ('top') y refinándola progresivamente hacia los detalles específicos ('down').
En el contexto de la abstracción, ¿cuál es la diferencia entre interfaz e implementación de una función?
La interfaz es el nombre de la función, sus parámetros y su valor de retorno; la implementación es el código interno dentro de la función que realiza el trabajo.
¿Para qué sirve la palabra clave 'pass' en Python?
Es un marcador de posición para bloques de código que aún no tienen lógica, lo que permite ejecutar el archivo para verificar la estructura sin que genere errores de sintaxis.
¿Cuál es la diferencia entre parámetro y argumento en Python?
Un parámetro es la variable que aparece dentro de los paréntesis en la definición de la función; un argumento es el valor real enviado a la función cuando se realiza la llamada.
¿Cómo funcionan los argumentos arbitrarios '*args' en Python?
Al colocar un '*' antes del nombre del parámetro en la definición de la función, la función recibe una tupla con un número indeterminado de argumentos posicionales.
¿Cómo funcionan los argumentos arbitrarios de palabras clave '**kwargs' en Python?
Al colocar un doble '**' antes del nombre del parámetro en la definición, la función recibe un diccionario con un número indeterminado de argumentos de tipo clave = valor.
¿Qué valor devuelve implícitamente una función en Python si no ejecuta una instrucción 'return'?
Si una función llega al final de su bloque sin encontrar una instrucción return, devuelve implícitamente el objeto None.
¿Cómo simula Python el retorno de múltiples valores en una función?
Empaqueta todos los valores en una tupla y devuelve esa tupla, permitiendo al código que llama desempaquetarla en variables individuales.
¿Qué significan las siglas de la regla LEGB sobre el alcance (scope) de las variables en Python?
Representan el orden de resolución del ámbito de las variables: L - Local, E - Enclosing (Cercano), G - Global y B - Built-in.
¿Para qué se utiliza la palabra clave 'global' dentro de una función?
Se utiliza para declarar que una variable dentro de un ámbito local pertenece al ámbito global o para permitir realizar modificaciones en una variable global.
¿Cuál es la regla de orden al definir parámetros por defecto en la firma de una función?
Los parámetros con valores por defecto deben ir ubicados después de los parámetros sin valor por defecto.
¿Qué es un módulo en Python y cuáles son sus dos razones fundamentales de uso?
Es un archivo de Python con extensión .py que contiene definiciones y sentencias. Sus razones principales son Organización (espacios de nombres) y Reutilización (principio DRY).
¿En qué se diferencia 'import modulo' de 'from modulo import objeto'?
'import modulo' importa el módulo completo requiriendo el prefijo 'modulo.objeto', mientras que 'from modulo import objeto' trae el nombre específico directamente al espacio de nombres actual sin requerir prefijo.
¿Qué componentes contienen los módulos 'math', 'random' y 'datetime' de la Biblioteca Estándar?
'math' contiene constantes y funciones matemáticas (math.pi, math.sqrt()); 'random' genera pseudoaleatorios (random.randint(), random.choice()); 'datetime' ofrece clases para manejar fechas y horas.
¿Cómo se accede a los elementos de un arreglo unidimensional o lista en Python y cuál es el rango de sus índices?
Se accede mediante un índice numérico entre corchetes, comenzando en 0 hasta la longitud de la lista menos 1 (len - 1).
¿Cómo funcionan las operaciones 'append()' y 'remove()' para mutar una lista?
'append(x)' agrega el valor x al final de la lista; 'remove(x)' borra la primera aparición del valor x en la lista.
¿Qué ocurre si se intenta usar 'remove()' o 'index()' con un elemento que no existe en la lista?
Se produce un error de tipo ValueError (list.remove(x): x not in list o list.index(x): x not in list).
¿Cómo se diferencian las operaciones 'in' e 'index()' al buscar dentro de una lista?
'in' devuelve un valor booleano (True o False) indicando si el elemento existe; 'index()' devuelve la posición numérica de la primera aparición del elemento.
¿Qué es un arreglo bidimensional en Python y cómo se accede a un elemento específico?
Es una estructura tipo tabla con filas y columnas (matriz) representada como listas anidadas; se accede a un elemento usando dos índices: matriz[fila][columna].
¿Cuáles son las tres operaciones básicas con cadenas de caracteres y qué hace cada una?
a) Concatenación (+): Une cadenas. b) Repetición (*): Repite una cadena n veces. c) Longitud (len()): Devuelve el número total de caracteres incluyendo espacios y símbolos.
¿Cómo funcionan los índices positivos y negativos en una cadena de caracteres?
Los índices positivos cuentan desde el inicio comenzando en 0; los índices negativos cuentan desde el final comenzando en -1 para el último carácter.
¿Cuál es la regla de inclusión de los límites en la sintaxis de slicing 'cadena[inicio:fin]'?
El índice 'inicio' está incluido en el segmento, mientras que el índice 'fin' no está incluido.
¿Qué significa que las cadenas de caracteres sean inmutables?
Significa que una vez creada la cadena, sus caracteres individuales no se pueden modificar directamente; para cambiarla es necesario construir una nueva cadena.
¿Cuáles son los métodos principales para convertir de cadena a lista y de lista a cadena?
Para pasar de cadena a lista se utiliza el método split(), y para pasar de lista de cadenas a una sola cadena se utiliza join().