Python es un lenguaje de programación interpretado de alto nivel, conocido por su legibilidad y versatilidad. Es multiparadigma, soportando la orientación a objetos, la programación imperativa y, en menor medida, la programación funcional. Es administrado por la Python Software Foundation y es de código abierto.
Historia: Fue creado por Guido van Rossum a finales de los años 80 como sucesor del lenguaje ABC. Publicado por primera vez en 1991, Python ha evolucionado significativamente, introduciendo características como clases con herencia, manejo de excepciones y funciones. Python 1.0 fue lanzado en 1994, añadiendo herramientas de programación funcional, y Python 2.0 en el 2000, introdujo listas por comprensión y un sistema de recolección de basura.
Filosofía: Python sigue una filosofía similar a Unix, con principios como la simplicidad, la legibilidad y la claridad. Estos principios están encapsulados en "El Zen de Python", una serie de aforismos que guían el diseño del lenguaje.
Tipos de datos básicos:
str: Cadena de texto, inmutable ('Cadena'). bytes: Vector de bytes, inmutable (b'Cadena'). list: Secuencia mutable que puede contener distintos tipos de objetos ([4.0, 'Cadena', True]). tuple: Secuencia inmutable ((4.0, 'Cadena', True)). set: Conjunto mutable, sin orden y sin elementos duplicados ({4.0, 'Cadena', True}). frozenset: Conjunto inmutable (frozenset([4.0, 'Cadena', True])). dict: Diccionario que agrupa pares clave-valor ({'key1': 1.0, 'key2': False}). int: Número entero (42). float: Número decimal (3.1415927). complex: Número complejo ((4.5 + 3j)). bool: Valor booleano (True o False).
Condicionales:
Se utilizan las palabras clave if, elif y else para ejecutar bloques de código basados en condiciones. Las condiciones se evalúan secuencialmente hasta que una sea verdadera.
Bucles:
For: Itera sobre un objeto iterable (lista, cadena, etc.) ejecutando un bloque de código para cada elemento. While: Ejecuta un bloque de código repetidamente mientras la condición especificada sea verdadera. Listas y Tuplas:
Listas: Se declaran con corchetes [], son mutables, y pueden contener elementos de diferentes tipos. (lista = ["abc", 42, 3.1415]) Tuplas: Se declaran con paréntesis (), son inmutables, y pueden contener elementos de diferentes tipos. (tupla = ("abc", 42, 3.1415)) 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 de dato, incluyendo listas o diccionarios anidados. (diccionario = {"cadena": "abc", "numero": 42, "lista": [True, 42]}) Sentencia match-case:
Introducida en Python 3.10, se utiliza para la coincidencia estructural de patrones, similar a switch en otros lenguajes.