Python es un lenguaje de alto nivel, legible, multiparadigma e interpretado, utilizado en aplicaciones como Instagram y Spotify. Es dinámico, multiplataforma, de código abierto y popular, gestionado por la Python Software Foundation.
historia: Python fue creado por Guido van Rossum en los años 80 como sucesor de ABC. Su nombre proviene de Monty Python. Evolucionó con mejoras en excepciones, módulos y programación funcional.
filosofia:
La filosofía de Python promueve código claro y legible, siguiendo principios como simplicidad, legibilidad y coherencia. Tim Peters resumió estos en El Zen de Python, visible con import this
.
Tipos de datos: Los tipos de datos básicos se dividen en mutables (listas, conjuntos, diccionarios) e inmutables (cadenas, tuplas, números, booleanos). Cada tipo tiene una función específica, como almacenar secuencias o representar valores.
Condicionales:
Las sentencias condicionales ejecutan bloques de código según condiciones evaluadas con if
, elif
y else
, ejecutándose solo el primer bloque cuya condición sea verdadera. Los bucles for
iteran sobre objetos iterables, como listas o cadenas, asignando cada elemento a una variable en cada iteración. El bucle while evalúa una condición y, si es verdadera, ejecuta el bloque de código interno. Continúa evaluando y ejecutando mientras la condición sea verdadera.
Listas y Tuplas Las listas se declaran con corchetes [] y las tuplas con paréntesis (). Ambas pueden contener elementos de diferentes tipos, pero las listas se usan para elementos del mismo tipo y cantidad variable, mientras que las tuplas son para elementos distintos y cantidad fija. El acceso a los elementos se hace mediante índices (empezando desde 0) y pueden usarse índices negativos. Las listas son mutables (pueden modificarse), mientras que las tuplas son inmutables (no se pueden modificar una vez creadas).
Los diccionarios: se declaran con llaves {} y contienen pares clave: valor. Son mutables, pero las claves deben ser inmutables. Los valores pueden ser de cualquier tipo, incluso otro diccionario.
Sentencia match-case: Python cuenta con la estructura match-case desde la versión 3.10. Esta tiene el nombre de Structural Pattern Matching. Esta funcionalidad es más compleja que el switch-case, ya que permite comparar valores, tipos, atributos y realizar desempaquetado directo de secuencias, verificando condiciones específicas de objetos
Conjuntos: Los conjuntos se crean con set(items), no mantienen orden ni permiten duplicados. Se usan para eliminar duplicados y realizar operaciones matemáticas como intersección, unión, diferencia y diferencia simétrica.
Listas por comprensión Una lista por comprensión (en inglés list comprehension) es una expresión compacta para definir listas. Al igual que lambda, aparece en lenguajes funcionales.
Las funciones se definen con "def" y pueden devolver valores con "return". Los parámetros args y kwargs manejan argumentos variables posicionales y por palabras clave, respectivamente.
Las clases en Python se definen con class y pueden heredar de otras. El método init inicializa atributos. Los atributos accesibles se definen con self, y no hay encapsulamiento.