Lecciones en español / PCAP / Hoja de repaso · English
Hoja de repaso de PCAP PCAP-31-03
Dominio 1: Modules and Packages (12%)
Consejos para el examen
- Pregúntate qué nombres agrega cada línea. import m as x define solo x, nunca m; from m import f define solo f, nunca m. Muchas opciones de respuesta que parecen correctas fallan con NameError justamente por esto.
- Con import a.b.c simple debes usar el prefijo completo a.b.c, y el último componente debe ser un módulo, no una función ni una clase. Las preguntas suelen ofrecer import a.b.func como respuesta incorrecta tentadora.
- dir(x) necesita un nombre que realmente exista. Después de from math import sqrt, dir(math) lanza NameError; después de import math as m, debes llamar dir(m).
- append() busca en la nueva carpeta al último, insert(0, ...) busca en ella primero, y ninguno de los dos cambios sobrevive más allá de la ejecución actual. La modificación debe ir antes del import que depende de ella.
- Prueba con negativos: floor(-2.5) es -3, pero trunc(-2.5) y ceil(-2.5) son -2. Recuerda también que sqrt y hypot siempre devuelven floats, así que sqrt(16) imprime 4.0, no 4.
- random() puede devolver 0.0 pero nunca 1.0, y sample() lanza ValueError si k supera el tamaño de la población. Misma semilla más mismas llamadas es igual a la misma salida.
- platform.version() es la versión del sistema operativo, no la de Python. python_version_tuple() devuelve cadenas, no enteros, y processor() puede devolver legítimamente una cadena vacía.
- Los imports siguen ejecutando todo el código de nivel superior no protegido. Solo las sentencias dentro del bloque if __name__ == '__main__': se omiten cuando el archivo se importa.
- El script principal se compila pero no se guarda en caché; solo los módulos importados reciben archivos .pyc. La caché acelera la carga, no la ejecución.
- Un guion bajo inicial solo afecta a from module import *. Los imports explícitos y el acceso calificado como module._name siguen funcionando, así que es una convención y no privacidad real.
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
- Solo se ejecuta la primera rama que coincide, y una superclase listada primero se traga a sus subclases. Cuando dos ramas podrían coincidir, gana la que está más arriba.
- La tupla necesita paréntesis: except (A, B): es correcto, except A, B: es un SyntaxError en Python 3.
- print(e) muestra el mensaje; print(e.args) muestra una tupla, que con un argumento se ve como ('message',). La variable de as desaparece después del bloque except.
- else significa que no ocurrió ninguna excepción; finally significa siempre. Si ocurre una excepción, else se omite aunque la excepción se haya manejado.
- Conoce a los padres: ZeroDivisionError bajo ArithmeticError, IndexError y KeyError bajo LookupError, ModuleNotFoundError bajo ImportError, y KeyboardInterrupt directamente bajo BaseException, no bajo Exception.
- raise ValueError y raise ValueError() funcionan ambos; la forma con clase crea una instancia con args vacío. Un raise sin argumentos solo es válido mientras se está manejando una excepción.
- assert (cond, 'msg') con paréntesis es una tupla no vacía y siempre pasa. Además, nunca dependas de assert para validar entradas, porque -O lo elimina.
- KeyboardInterrupt, SystemExit y GeneratorExit heredan de BaseException, no de Exception. Solo un except sin clase o except BaseException (o la clase específica) las atrapa.
- Las excepciones personalizadas deben derivar de Exception. Si sobrescribes __init__, pasa un mensaje a super().__init__() para que args y str(e) sigan teniendo sentido.
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
- ASCII es un subconjunto de Unicode; UTF-8 es una codificación de Unicode, no un juego de caracteres aparte. Un str de Python cuenta code points, así que len('é') es 1 aunque ocupe 2 bytes en UTF-8.
- ord() necesita exactamente un carácter; si no, TypeError. chr() necesita un int en el rango de 0 a 0x10FFFF; si no, ValueError. Recuerda 'A' = 65, 'a' = 97, '0' = 48.
- Cada secuencia de escape cuenta como un carácter: len('\n') es 1 y len('\\') es 1. Cuidado con los escapes accidentales en rutas de Windows.
- Indexar fuera de rango lanza IndexError; rebanar fuera de rango solo recorta. Con un paso negativo, start debe ser mayor que stop o el resultado estará vacío.
- Cualquier sentencia que asigne a s[i] o s[a:b], o que borre s[i], lanza TypeError con cadenas. Los métodos devuelven cadenas nuevas; si el resultado no se asigna, se pierde.
- En las cadenas, in busca una subcadena contigua y sensible a mayúsculas, y la cadena vacía siempre está en cualquier cadena. Mezclar tipos, como 3 in 'a3', lanza TypeError.
- '5' == 5 es False sin error, pero '5' < 5 lanza TypeError. En el orden de cadenas, las mayúsculas van antes que las minúsculas y '10' < '9'.
- Todos los métodos is devuelven False para la cadena vacía. isdigit() rechaza '-' y '.', e isupper() necesita al menos una letra mayúscula y ninguna minúscula, ignorando dígitos y símbolos.
- find devuelve -1 si falla; index lanza ValueError. Y join se llama sobre el separador: ', '.join(items), nunca items.join(', ').
- sorted('abc') devuelve una lista, no una cadena; únela para obtener una cadena. list.sort() devuelve None, así que nunca asignes ni imprimas su resultado esperando una lista.
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
- Una clase es el plano; un objeto es una instancia construida a partir de ella. Las subclases heredan todo de las superclases y pueden sobrescribirlo, y toda clase hereda de object.
- obj.x = value siempre crea o actualiza una variable de instancia; nunca cambia la variable de clase. Cambia los datos compartidos a través del nombre de la clase.
- El __dict__ de una instancia contiene solo los atributos asignados a esa instancia. Las variables de clase y los métodos viven en el __dict__ de la clase, y los nombres heredados no aparecen en el __dict__ de una subclase.
- Dentro de la clase C, __x se convierte en _C__x. Fuera de la clase, obj.__x no se transforma y falla (o crea un atributo aparte si se le asigna algo). Los nombres dunder como __init__ nunca se transforman.
- Todo método de instancia necesita self como primer parámetro, y obj.m(a) pasa obj automáticamente. Una segunda definición de __init__ reemplaza a la primera; Python no tiene sobrecarga de constructores.
- __name__ y __bases__ pertenecen a las clases; en una instancia, pasa primero por type(obj) u obj.__class__. __bases__ lista solo los padres directos, como una tupla.
- super().method(args) no recibe self; ClassName.method(self, args) sí. Si una subclase sobrescribe __init__ sin llamar a super().__init__(), faltarán los atributos del padre.
- En un diamante, el ancestro compartido va después de todas sus subclases en el MRO. Listar una superclase antes que una de sus propias subclases en las bases lanza TypeError al definir la clase.
- issubclass(C, C) es True. isinstance también coincide con las superclases. a == b compara valores; a is b compara identidad, y asignar b = a no crea ninguna copia.
- print(obj) llama a obj.__str__(); sin sobrescribirlo obtienes el texto predeterminado <... object at 0x...>. Las llamadas polimórficas ejecutan el método de la clase real del objeto, incluso cuando se hacen desde código de la superclase.
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
- Con varias cláusulas for, el bucle de más a la izquierda es el exterior. Un if al final filtra (no admite else); un if ... else al principio transforma cada elemento.
- El cuerpo de una lambda es una sola expresión con return implícito; sin sentencias y sin la palabra clave return. Cuando una función recibe una lambda, sigue su ejecución sustituyendo el argumento en la expresión de la lambda.
- map y filter devuelven iteradores, no listas, y cada uno solo se puede consumir una vez. Un segundo list() del mismo objeto da [].
- Los closures recuerdan variables, no instantáneas de sus valores. Las funciones creadas en un bucle ven todas el valor final de la variable del bucle, a menos que la enlaces con un argumento predeterminado.
- Llamar a una función generadora no ejecuta nada de su cuerpo hasta el primer next(). Después del último yield, next() lanza StopIteration, que los bucles for absorben en silencio.
- 'w' borra el contenido existente en el momento de abrir el archivo, 'a' lo conserva, 'x' falla si el archivo existe y 'r' falla si no existe. El modo texto da str; el modo binario da bytes.
- print() escribe en sys.stdout por defecto e input() lee de sys.stdin; sys.stderr está separado para que los errores sigan visibles cuando se redirige la salida normal. Los tres están abiertos antes de que empiece tu programa.
- El final del archivo se indica con un resultado vacío ('' o b''), no con una excepción. write() nunca añade saltos de línea, y readinto() necesita un bytearray y un archivo en modo binario.
- Compara e.errno con las constantes del módulo errno, nunca con números directamente. ENOENT va con FileNotFoundError y EACCES con PermissionError, ambas subclases de OSError.
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 estudioPlan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.