Python es un lenguaje de programación interpretado y de alto nivel, enfocado en la legibilidad del código. Es multiparadigma, soportando orientación a objetos, programación imperativa y funcional. Usado en aplicaciones como Instagram y Netflix, es dinámico y multiplataforma, administrado por la Python Software Foundation con licencia de código abierto. Creado por Guido van Rossum en los años 80, Python se ha desarrollado continuamente, alcanzando su versión 1.0 en 1994. Van Rossum inició la iniciativa CP4E para hacer la programación accesible a más personas.
En el año 2000, el equipo de desarrolladores de Python se trasladó a BeOpen.com para formar PythonLabs. Publicaron Python 2.0, que introdujo listas por comprensión y un sistema de recolección de basura. Posteriormente, Guido van Rossum y otros se unieron a Digital Creations. Para compatibilizar Python con la GPL, se creó la Python Software Foundation License. En 2001, van Rossum recibió el FSF Award. La filosofía de Python, descrita en "El Zen de Python" por Tim Peters, enfatiza la simplicidad, legibilidad y pragmatismo.
Los tipos de datos básicos incluyen:
str: cadena inmutable ('Cadena')
bytes: array inmutable de bytes (b'Cadena')
list: secuencia mutable ([4.0, 'Cadena', True])
tuple: secuencia inmutable ((4.0, 'Cadena', True))
set: conjunto mutable ({4.0, 'Cadena', True})
frozenset: conjunto inmutable (frozenset([4.0, 'Cadena', True]))
dict: diccionario ({'key1': 1.0, 'key2': False})
int: entero (42)
float: decimal (3.1415927)
complex: complejo ((4.5 + 3j))
bool: booleano (True o False)
Condicionales: Utilizan if, elif y else para ejecutar código basado en condiciones.
Bucle for: Itera sobre objetos iterables como listas o cadenas.
Bucle while: Ejecuta su bloque de código mientras la condición sea verdadera.
Las listas se declaran con corchetes [] y las tuplas con paréntesis (), ambas separan sus elementos por comas. Las listas son mutables,
permitiendo modificar su contenido, mientras que las tuplas son inmutables. Los diccionarios, declarados con llaves {}, contienen pares clave
y son mutables, pero las claves deben ser inmutables. La estructura match-case en Python 3.10 permite comparaciones más complejas que el
switch-case, incluyendo la verificación de tipos y atributos de objetos.
Para declarar listas se usan corchetes [] y para declarar tuplas paréntesis (). Las listas son mutables y las tuplas inmutables. Ambas pueden
contener elementos de distintos tipos. Los diccionarios se declaran con llaves {} y contienen pares clave
, siendo mutables en sus valores pero no en sus claves. Los conjuntos no mantienen orden y no tienen duplicados. La sentencia match-case
permite comparación de valores y tipos. Las funciones en Python se definen con def y pueden manejar argumentos variables con *args y
**kwargs. Las clases en Python se definen con class, y sus métodos deben tener al menos un parámetro, generalmente self.