StudyToCert

Lecciones en español / PCAP / Hoja de repaso · English

Hoja de repaso de PCAP PCAP-31-03

Cada consejo para el examen y término clave de las lecciones gratuitas de PCAP, por dominio. Usa la opción Imprimir de tu navegador para guardarla como PDF.

Dominio 1: Modules and Packages (12%)

Consejos para el examen

Términos clave

Namespace (espacio de nombres)
Una asociación de nombres con objetos; cada módulo, llamada a función y clase tiene el suyo.
Alias
Un nombre alternativo dado con as, por ejemplo import math as m, que enlaza solo m.
__all__
Una lista de cadenas en un módulo que indica qué debe importar from module import *.
Qualified name (nombre calificado)
Un nombre escrito con el prefijo de su módulo, como math.sqrt.
Package (paquete)
Un directorio de módulos (y posiblemente subpaquetes) que Python puede importar por nombre.
Subpackage (subpaquete)
Un paquete anidado dentro de otro, al que se llega con un punto, como extra.good.
Fully qualified name (nombre totalmente calificado)
La ruta completa con puntos desde el paquete superior hasta un objeto, como extra.good.best.sigma.funS.
dir()
Función integrada que devuelve una lista ordenada de nombres de atributos de un objeto, o del ámbito actual cuando se llama sin argumentos.
Dunder name (nombre dunder)
Un nombre con doble guion bajo a ambos lados, como __name__, usado para atributos especiales.
Local scope (ámbito local)
El conjunto de nombres definidos en el bloque que se ejecuta actualmente; dir() sin argumentos lo lista.
sys.path
Una lista de cadenas de directorios en la que Python busca, en orden, al importar un módulo.
PYTHONPATH
Una variable de entorno cuyos directorios se agregan a sys.path al iniciar.
Shadowing (ocultamiento)
Cuando un módulo que está antes en la ruta de búsqueda oculta a otro con el mismo nombre que está después.
site-packages
El directorio donde normalmente viven los paquetes de terceros instalados con pip.
floor()
Redondea hacia abajo, hacia menos infinito, y devuelve un int.
ceil()
Redondea hacia arriba, hacia más infinito, y devuelve un int.
trunc()
Descarta la parte fraccionaria, moviéndose hacia cero, y devuelve un int.
hypot()
Devuelve la distancia euclidiana sqrt(x*x + y*y) como float.
Pseudo-random (pseudoaleatorio)
Producido por un algoritmo determinista que solo parece aleatorio; la misma semilla da la misma secuencia.
Seed (semilla)
El valor inicial del generador; establecerlo hace que los resultados sean reproducibles.
Sampling without replacement (muestreo sin reemplazo)
Elegir elementos de modo que ninguna posición se elija dos veces, como hace random.sample().
system()
Devuelve el nombre del sistema operativo, como Linux, Windows o Darwin.
machine()
Devuelve el nombre de la arquitectura de hardware, como x86_64 o arm64.
python_implementation()
Devuelve el nombre de la implementación del intérprete, por ejemplo CPython o PyPy.
python_version_tuple()
Devuelve (major, minor, patch) como una tupla de cadenas.
__name__
Una variable del módulo que contiene el nombre del módulo, o '__main__' cuando el archivo se ejecuta directamente.
'__main__'
El valor de __name__ en el módulo que inició el programa.
Top-level code (código de nivel superior)
Sentencias a nivel de módulo, fuera de funciones y clases, que se ejecutan cada vez que se carga el módulo.
Bytecode
Las instrucciones compiladas, independientes de la plataforma, que ejecuta la máquina virtual de Python.
.pyc file (archivo .pyc)
Un archivo que contiene el bytecode en caché de un módulo importado.
__pycache__
El directorio donde CPython guarda los archivos .pyc, junto a los módulos fuente.
__init__.py
Un archivo que marca un directorio como paquete regular y se ejecuta cuando el paquete se importa por primera vez.
Nested package (paquete anidado)
Un directorio de paquete colocado dentro de otro directorio de paquete.
_name convention (convención _name)
Un guion bajo inicial marca un nombre de módulo como interno; from module import * lo omite.

Dominio 2: Exceptions (14%)

Consejos para el examen

Términos clave

Exception (excepción)
Un objeto que representa un error o un evento inusual que interrumpe el flujo normal.
except branch (rama except)
Un manejador que se ejecuta cuando la excepción lanzada coincide con su clase o con una subclase de ella.
Propagation (propagación)
Una excepción no manejada que se mueve hacia afuera, hacia sentencias try que la envuelven y funciones que llamaron.
Bare except (except sin clase)
Un except sin clase, que atrapa todo; debe ser la última rama.
Exception tuple (tupla de excepciones)
Una lista de clases entre paréntesis en una cláusula except; la rama coincide con cualquiera de ellas.
as binding (enlace con as)
La forma except ... as name que da al manejador acceso al objeto excepción.
Subclass matching (coincidencia por subclase)
Una rama except también atrapa instancias de subclases de las clases listadas.
Exception instance (instancia de excepción)
El objeto creado cuando se lanza una excepción; except ... as name lo enlaza.
args
Una tupla que contiene los argumentos pasados al constructor de la excepción.
str(e)
El mensaje imprimible de una excepción, derivado de args.
else branch (rama else)
Se ejecuta solo cuando el bloque try termina sin lanzar una excepción.
finally branch (rama finally)
Se ejecuta cada vez que se sale de la sentencia try, ya sea normalmente, por excepción o por return.
Clean-up code (código de limpieza)
Sentencias que liberan recursos y que por eso van en finally o en una sentencia with.
BaseException
La raíz de todas las excepciones integradas, incluidas señales que no son errores, como KeyboardInterrupt.
Exception
La clase base de los errores comunes y de las excepciones definidas por el usuario.
ArithmeticError
Padre de ZeroDivisionError, OverflowError y FloatingPointError.
LookupError
Padre de IndexError y KeyError, que se lanza cuando una clave o un índice no es válido.
raise
Sentencia que señala una excepción, dada una clase o una instancia.
Bare raise (raise sin argumentos)
raise sin operando dentro de una rama except; relanza la excepción actual sin cambios.
Exception chaining (encadenamiento de excepciones)
Vincular una nueva excepción con la que la causó, automáticamente o con raise ... from.
assert
Sentencia que lanza AssertionError cuando su condición es falsa.
AssertionError
La excepción que lanza un assert fallido; subclase de Exception.
-O option (opción -O)
Bandera del intérprete que elimina las sentencias assert para que nunca se evalúen.
KeyboardInterrupt
Se lanza cuando el usuario presiona la tecla de interrupción (Ctrl+C); hereda directamente de BaseException.
SystemExit
La lanza sys.exit(); su atributo code contiene el código de salida.
except Exception
Un manejador amplio para errores comunes que excluye deliberadamente las señales de salida e interrupción.
Custom exception (excepción personalizada)
Una clase definida por el usuario que hereda de Exception y se lanza y atrapa como las integradas.
Exception hierarchy (jerarquía de excepciones)
Un conjunto de clases de excepción relacionadas donde una clase base permite que quien llama atrape todo el grupo.
super().__init__()
Llamada al constructor del padre, que establece args y el mensaje impreso.

Dominio 3: Strings (18%)

Consejos para el examen

Términos clave

ASCII
Un juego de caracteres de 7 bits con 128 caracteres numerados del 0 al 127.
Unicode
Un estándar que asigna un code point único a cada carácter de cada sistema de escritura.
Code point (punto de código)
El número que Unicode asigna a un carácter, escrito como U+0041.
UTF-8
Una codificación de Unicode de longitud variable que usa de 1 a 4 bytes por code point, compatible con ASCII.
ord()
Devuelve el code point entero de una cadena de un solo carácter.
chr()
Devuelve la cadena de un carácter correspondiente a un code point entero.
Caesar cipher (cifrado César)
Una sustitución simple que desplaza cada letra un número fijo de posiciones, fácil de construir con ord y chr.
String literal (literal de cadena)
Texto escrito en el código fuente entre comillas simples, dobles o triples.
Escape sequence (secuencia de escape)
Una barra invertida seguida de caracteres que representan un carácter especial, como \n.
Raw string (cadena cruda)
Un literal con prefijo r en el que las barras invertidas no se tratan como escapes.
Index (índice)
La posición de un elemento en una secuencia, empezando en 0.
Negative index (índice negativo)
Una posición contada desde el final, donde -1 es el último elemento.
Slice (rebanada)
Una subsecuencia seleccionada con [start:stop:step], sin incluir la posición stop.
Step (paso)
La distancia entre las posiciones seleccionadas en un slice; los valores negativos van hacia atrás.
Immutable (inmutable)
No puede cambiarse después de crearse; las cadenas, tuplas y bytes son inmutables.
Rebinding (reenlazar)
Hacer que un nombre existente apunte a un objeto nuevo, como en s = s.upper().
Hashable
Que tiene un valor hash fijo, algo que la inmutabilidad hace posible y que los diccionarios exigen para las claves.
Iteration (iteración)
Visitar cada elemento de una secuencia por turno, como hace un bucle for con los caracteres de una cadena.
Membership operator (operador de pertenencia)
in o not in, que comprueban si un valor aparece en un contenedor o si una subcadena aparece en una cadena.
enumerate()
Función integrada que empareja cada elemento con su índice durante la iteración.
Concatenation (concatenación)
Unir cadenas una detrás de otra con +.
Replication (replicación)
Repetir una cadena un número entero de veces con *.
Lexicographic order (orden lexicográfico)
Comparar secuencias elemento por elemento; la primera diferencia decide el resultado.
isdigit()
True si la cadena no está vacía y todos sus caracteres son dígitos.
isalnum()
True si la cadena no está vacía y todos sus caracteres son letras o dígitos.
isspace()
True si la cadena no está vacía y todos sus caracteres son espacios en blanco.
Cased character (carácter con caso)
Una letra con formas mayúscula y minúscula distintas; isupper() e islower() solo tienen en cuenta estos caracteres.
split()
Devuelve una lista de subcadenas separadas por espacios en blanco o por un separador dado.
join()
Se llama sobre una cadena separadora; concatena un iterable de cadenas con ese separador entre ellas.
find() / rfind()
Devuelven el índice más bajo o más alto de una subcadena, o -1 si no está.
index()
Como find(), pero lanza ValueError cuando la subcadena no está.
sorted()
Función integrada que devuelve una lista nueva ordenada a partir de cualquier iterable.
list.sort()
Método que ordena una lista en su lugar y devuelve None.
key function (función clave)
Una función pasada como key= que calcula el valor usado en las comparaciones.
Stable sort (ordenamiento estable)
Un ordenamiento que mantiene los elementos iguales en su orden relativo original.

Dominio 4: Object-Oriented Programming (34%)

Consejos para el examen

Términos clave

Class (clase)
Un plano que define los atributos y métodos que tendrán sus objetos.
Object / instance (objeto / instancia)
Un valor concreto creado a partir de una clase, con su propio estado.
Encapsulation (encapsulación)
Agrupar los datos con los métodos que los gestionan y restringir el acceso directo a esos datos.
Superclass / subclass (superclase / subclase)
Una clase padre y una clase que hereda de ella, especializándola o ampliándola.
Instance variable (variable de instancia)
Un atributo guardado en un solo objeto, normalmente asignado como self.name en __init__.
Class variable (variable de clase)
Un atributo definido en el cuerpo de la clase y compartido por todas las instancias.
Shadowing (ocultamiento)
Un atributo de instancia con el mismo nombre que oculta un atributo de clase cuando se accede a través de esa instancia.
__dict__
El diccionario (o mapping proxy en el caso de las clases) que contiene los atributos propios de un objeto.
mappingproxy
El tipo de mapeo de solo lectura que se usa para el __dict__ de una clase.
vars()
Función integrada que devuelve el __dict__ de un objeto.
Private attribute (atributo privado)
Un atributo cuyo nombre empieza con dos guiones bajos (y no termina con dos), sujeto a name mangling.
Name mangling (transformación de nombres)
Reescribir __name dentro de una clase como _ClassName__name para evitar choques.
Single-underscore convention (convención de un guion bajo)
Un _ al principio marca un nombre como interno, pero no se hace cumplir de ninguna forma.
self
El nombre convencional del primer parámetro de un método, que recibe la instancia.
__init__
El inicializador que se ejecuta automáticamente al crear un objeto y asigna sus atributos.
Default argument (argumento predeterminado)
Un valor de parámetro que se usa cuando quien llama no proporciona uno.
Introspection (introspección)
Examinar el tipo y los atributos de un objeto en tiempo de ejecución.
hasattr()
Devuelve True si un objeto tiene, o puede alcanzar, un atributo con el nombre dado como cadena.
__bases__
Una tupla con las superclases directas de una clase; solo disponible en las clases.
__module__
El nombre del módulo en el que se definió una clase.
Single inheritance (herencia simple)
Una clase con exactamente una superclase directa.
Multiple inheritance (herencia múltiple)
Una clase que lista dos o más superclases directas.
Overriding (sobrescritura)
Definir en una subclase un método con el mismo nombre que uno de una superclase, reemplazándolo para la subclase.
super()
Devuelve un proxy que encuentra la versión de un método de la siguiente clase en el orden de resolución de métodos.
MRO
Method resolution order (orden de resolución de métodos): la lista ordenada de clases en la que se buscan los atributos.
Diamond problem (problema del diamante)
Una jerarquía en la que dos padres comparten un ancestro común, lo que plantea la cuestión del orden de búsqueda.
C3 linearization (linealización C3)
El algoritmo que usa Python para calcular un MRO coherente.
__mro__
Un atributo de clase que contiene su MRO como una tupla de clases.
isinstance()
Devuelve True si un objeto es instancia de una clase o de cualquiera de sus subclases.
issubclass()
Devuelve True si una clase es la misma que otra o deriva de ella.
Identity / is (identidad)
Si dos referencias apuntan al mismo objeto.
Equality / == (igualdad)
Si dos objetos tienen valores iguales según su tipo.
Polymorphism (polimorfismo)
La capacidad de clases distintas de responder a la misma llamada de método cada una a su manera.
Duck typing (tipado de pato)
Usar cualquier objeto que proporcione los métodos necesarios, sin importar su clase.
__str__()
Método especial que devuelve la forma legible de un objeto como cadena; lo usan print() y str().

Dominio 5: Miscellaneous (22%)

Consejos para el examen

Términos clave

List comprehension (comprensión de lista)
Una expresión entre corchetes que construye una lista recorriendo un iterable.
Filter clause (cláusula de filtro)
Un if al final de una comprensión que incluye solo los elementos que cumplen una condición.
Conditional expression (expresión condicional)
A if condition else B, que elige un valor para cada elemento.
Nested comprehension (comprensión anidada)
Una comprensión dentro de otra, usada para construir listas de listas.
Lambda
Una función anónima definida por una sola expresión, cuyo valor devuelve.
Higher-order function (función de orden superior)
Una función que recibe otra función como argumento o devuelve una.
key function (función clave)
Una función pasada a sorted(), min() o max() para calcular el valor de comparación de cada elemento.
map()
Devuelve un iterador que aplica una función a cada elemento de uno o más iterables.
filter()
Devuelve un iterador que produce los elementos para los que una función devuelve un valor verdadero.
Iterator (iterador)
Un objeto que produce valores de uno en uno con next(); una vez agotado, no produce nada más.
Lazy evaluation (evaluación perezosa)
Calcular los valores solo cuando se piden.
Closure (clausura)
Una función interna que conserva el acceso a las variables del ámbito de la función envolvente después de que esta retorna.
Enclosing scope (ámbito envolvente)
El ámbito local de una función externa, visible para las funciones anidadas dentro de ella.
nonlocal
Declaración que permite a una función interna volver a enlazar una variable de la función envolvente.
Late binding (enlace tardío)
Buscar las variables libres de un closure cuando se llama, no cuando se crea.
Generator function (función generadora)
Una función que contiene yield; llamarla devuelve un objeto generador.
yield
Produce un valor y pausa el generador, conservando su estado hasta la siguiente petición.
next()
Función integrada que pide a un iterador su siguiente valor.
StopIteration
Excepción que se lanza cuando un iterador no tiene más valores; los bucles for la manejan automáticamente.
'w' mode (modo 'w')
Modo de escritura: crea el archivo o trunca uno existente a longitud cero.
'x' mode (modo 'x')
Creación exclusiva: crea un archivo nuevo y falla con FileExistsError si ya existe.
Text mode (modo texto)
Modo que decodifica bytes a str usando una codificación y traduce los finales de línea.
Binary mode (modo binario)
Modo ('b') que lee y escribe bytes sin procesar, sin decodificación ni traducción.
Stream (flujo)
Un flujo ordenado de datos que un programa lee o escribe.
Stream handle (manejador de flujo)
El objeto devuelto por open() (o proporcionado por sys) a través del cual se usa un flujo.
sys.stdout
La salida estándar, el destino predeterminado de print().
sys.stderr
El error estándar, un flujo de salida aparte para mensajes de error y diagnósticos.
readline()
Lee una línea incluido su salto de línea; devuelve una cadena vacía al final del archivo.
readlines()
Devuelve una lista con todas las líneas restantes, cada una con su salto de línea.
readinto()
Llena un bytearray existente desde un archivo binario y devuelve el número de bytes leídos.
with statement (sentencia with)
Un bloque de gestor de contexto (context manager) que cierra el archivo automáticamente al terminar.
errno attribute (atributo errno)
El código de error del sistema operativo guardado en una instancia de OSError.
errno module (módulo errno)
Módulo estándar que define constantes con nombre, como ENOENT y EACCES, para los códigos de error.
ENOENT
Código de error que significa que no existe el archivo o directorio; corresponde a FileNotFoundError.
EACCES
Código de error que significa permiso denegado; corresponde a PermissionError.
Estudia PCAP gratis
Plan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.
Abrir el plan de estudio