Python es un lenguaje de programación de alto nivel y multiparadigma, conocido por su legibilidad y versatilidad en el desarrollo de aplicaciones como Instagram y Netflix. Fue creado por Guido van Rossum en los años 80 como sucesor del lenguaje ABC, con una filosofía de simplicidad y claridad en su sintaxis. Python ha evolucionado significativamente, incorporando características de lenguajes funcionales y mejorando su compatibilidad con licencias de software libre. Van Rossum, reconocido como el principal autor, dejó su rol en 2018, pero Python sigue siendo uno de los lenguajes más populares hoy en día. Filosofía
Los usuarios de Python a menudo se refieren a la filosofía de Python, que tiene una similitud con la filosofía de Unix. El código que sigue los principios de Python es reconocido como "pythónico". Estos principios fueron descritos por Tim Peters en El Zen de Python:
Bello es mejor que feo. Explícito es mejor que implícito. Simple es mejor que complejo. Complejo es mejor que complicado. Plano es mejor que anidado. Disperso es mejor que denso. La legibilidad cuenta. Los casos especiales no son tan especiales como para quebrantar las reglas. Lo práctico gana a lo puro. Los errores nunca deberían dejarse pasar silenciosamente. A menos que hayan sido silenciados explícitamente. Frente a la ambigüedad, rechaza la tentación de adivinar. Debería haber una —y preferiblemente solo una— manera obvia de hacerlo. Aunque esa manera puede no ser obvia al principio a menos que usted sea holandés. Ahora es mejor que nunca. Aunque nunca es a menudo mejor que ya mismo. Si la implementación es difícil de explicar, es una mala idea. Si la implementación es fácil de explicar, puede que sea una buena idea. Los espacios de nombres (namespaces) son una gran idea. ¡Hagamos más de esas cosas! Desde la versión 2.1.2, Python incluye estos puntos (en su versión original en inglés) como un huevo de pascua que se muestra al ejecutar import this.
Tipos de datos
Los tipos de datos básicos en Python se pueden resumir en la siguiente tabla:
Tipo Clase Notas Ejemplo str Cadena Inmutable 'Cadena' bytes Vector/array Inmutable b'Cadena' list Secuencia Mutable, puede contener objetos [4.0, 'Cadena', True] tuple Secuencia Inmutable, puede contener objetos (4.0, 'Cadena', True) set Conjunto Mutable, sin orden, no contiene duplicados {4.0, 'Cadena', True} frozenset Conjunto Inmutable, sin orden, no contiene duplicados frozenset([4.0, 'Cadena', True]) dict Diccionario Grupo de pares clave {'key1': 1.0, 'key2': False} int Entero Precisión arbitraria 42 float Decimal Coma flotante de doble precisión 3.1415927 complex Complejo Parte real e imaginaria j (4.5 + 3j) bool Booleano Valor booleano (verdadero o falso) True o False Mutable: El contenido puede cambiarse en tiempo de ejecución. Inmutable: El contenido no puede cambiarse en tiempo de ejecución. Condicionales
Una sentencia condicional ejecuta su bloque de código solo si se cumple cierta condición. Se define usando la palabra clave if, seguida de la condición y el bloque de código. Si existen condiciones adicionales, se usan elif, y se puede incluir un bloque final else si todas las condiciones anteriores son falsas.
python Copiar código verdadero = True if verdadero: print("Verdadero") else: print("Falso") Bucle for
El bucle for en Python recorre un objeto iterable, como una lista o cadena, y ejecuta el bloque de código para cada elemento.
python Copiar código lista = ["a", "b", "c"] for i in lista: print(i) Bucle while
El bucle while evalúa una condición y, si es verdadera, ejecuta el bloque de código. Continúa hasta que la condición sea falsa.
python Copiar código numero = 0 while numero < 10: print(numero, end=" ") numero += 1 Listas y Tuplas
Listas: Se declaran con corchetes []. Son mutables y pueden contener elementos de diferentes tipos. Tuplas: Se declaran con paréntesis (). Son inmutables y también pueden contener elementos de diferentes tipos. Diccionarios
Se declaran con llaves {}. Contienen pares clave y son mutables.
python Copiar código diccionario = {"cadena": "abc", "numero": 42, "lista": [True, 42]} Sentencia match-case
Desde Python 3.10, se introdujo match-case, similar a switch-case en otros lenguajes, pero con capacidades avanzadas para coincidencias estructurales.
python Copiar código match variable: case condicion: # código case _: # código