PCEP / Lecciones en español · English
Lecciones de PCEP PCEP-30-02
- Términos fundamentales: interpretar vs. compilar, léxico, sintaxis y semántica, código fuente y el intérprete de Python
- Lógica y estructura de Python: palabras clave, instrucciones, indentación y comentarios
- Literales: booleanos, enteros, de punto flotante, notación científica y cadenas
- Literales enteros binarios, octales y hexadecimales (0b, 0o, 0x)
- Variables y reglas de nombres, palabras clave reservadas y convenciones de nombres de PEP 8
- Operadores numéricos: ** * / % // + - y la diferencia entre / y //
- Operadores de cadenas (+ y *), asignación y operadores de asignación compuesta (+=, *=, etc.)
- Prioridad y asociatividad de operadores, incluido ** de derecha a izquierda y el menos unario
- Operadores a nivel de bits: ~ & ^ | << >>
- Operadores booleanos y relacionales, precisión de los floats y sorpresas al redondear
- Conversión de tipos con int(), float(), str() y bool()
- Entrada y salida por consola: print() con sep= y end=, input() que devuelve una cadena, convertir la entrada a números
- Instrucciones if, if-else e if-elif-else, y por qué importa el orden de las condiciones elif
- Condiciones múltiples con and, or y not; valores truthy y falsy
- Instrucciones condicionales anidadas e indentación
- La instrucción pass como cuerpo de relleno
- Bucles while, condiciones de bucle y cómo evitar bucles infinitos
- Bucles for sobre range() con start, stop y step, incluidos pasos negativos y rangos vacíos
- Recorrer cadenas, listas y otras secuencias con for
- break y continue, y por qué break solo afecta al bucle más interno
- while-else y for-else: cuándo se ejecuta la cláusula else y cuándo break la salta
- Bucles anidados y conteo de iteraciones
- El valor de la variable del bucle después de que termina un bucle for
- Listas: construcción, indexación (incluidos índices negativos) y rebanado
- Métodos y funciones de listas: append(), insert(), index(), remove(), sort(), len(), sorted(), del
- Recorrer listas, in y not in, listas por comprensión con condiciones
- Copiar frente a crear alias de listas: b = a comparado con a[:] o list(a)
- Listas anidadas y matrices (listas de listas)
- Tuplas: construcción (incluidas las de un solo elemento), indexación, rebanado, inmutabilidad y tuplas frente a listas
- Diccionarios: construcción, indexación, y cómo agregar, cambiar y eliminar claves
- Recorrer diccionarios con keys(), values() e items(); comprobar si una clave existe
- Cadenas: indexación, rebanado (incluido [::-1]), inmutabilidad y comparación
- Escapar con \, comillas y apóstrofos dentro de cadenas, cadenas multilínea
- Métodos de cadena comunes: split(), join(), upper(), lower(), strip(), find(), count(), replace()
- Descomposición: dividir un programa en funciones
- Definir e invocar funciones; las funciones deben definirse antes de llamarlas
- return y yield, devolver varios valores como una tupla, el valor None
- Recursión, casos base y RecursionError
- Parámetros frente a argumentos; paso de argumentos posicional, por palabra clave y mixto
- Valores por defecto de los parámetros y por qué deben ir después de los parámetros obligatorios
- Ámbitos de nombres, ocultamiento (shadowing) y la palabra clave global; UnboundLocalError
- La jerarquía de excepciones: BaseException, Exception, SystemExit, KeyboardInterrupt, ArithmeticError, LookupError
- Excepciones integradas comunes: ZeroDivisionError, IndexError, KeyError, TypeError, ValueError, NameError
- try-except, except con varias excepciones, except solo y except Exception
- Ordenar las ramas except de lo específico a lo general
- Propagación de excepciones a través de las funciones y cómo decidir dónde manejarlas