Introducción
Python es un lenguaje de programación de alto nivel, interpretado, multiplataforma y centrado en la legibilidad. Es multiparadigma (orientado a objetos, imperativo y funcional), utilizado en aplicaciones como Instagram, Netflix y Spotify. Es de código abierto y administrado por la Python Software Foundation, siendo uno de los lenguajes más populares.
Historia
Creado por Guido van Rossum en los Países Bajos a finales de los años 80, Python es sucesor del lenguaje ABC. Incluye mejoras como manejo de excepciones y módulos. Publicado en 1991, alcanzó su versión 1.0 en 1994 y la 2.0 en 2000, con características como listas por comprensión y un recolector de basura. Desde 2001, la Python Software Foundation gestiona su desarrollo bajo una licencia compatible con GNU GPL.
Filosofía
El Zen de Python, creado por Tim Peters, establece principios como simplicidad, claridad y legibilidad, promoviendo soluciones prácticas y elegantes.
Tipos de datos
Python incluye tipos básicos:
- Cadenas (
str
) - Listas (
list
) - Diccionarios (
dict
) - Números (
int
,float
,complex
) - Booleanos (
bool
) - Conjuntos (
set
)
Algunos son mutables (listas, diccionarios) y otros inmutables (tuplas, cadenas).
Condicionales
Los condicionales ejecutan código según una condición:
verdadero = True
if verdadero:
print("Verdadero")
else:
print("Falso")
Bucle for
Itera sobre elementos de un iterable:
lista = ["a", "b", "c"]
for i in lista:
print(i)
Bucle while
Ejecuta mientras una condición sea verdadera:
numero = 0
while numero < 10:
print(numero, end=" ")
numero += 1
Listas y Tuplas
- Listas: Mutables, declaradas con
[]
:lista = ["abc", 42, 3.1415] lista.append(True)
- Tuplas: Inmutables, declaradas con
()
:tupla = ("abc", 42, 3.1415)
Diccionarios
Estructura clave-valor mutable:
diccionario = {"cadena": "abc", "numero": 42}
diccionario["cadena"] = "xyz"
Sentencia match-case
Introducida en Python 3.10 para patrones estructurales:
match variable:
case "valor":
print("Coincide")
case _:
print("No coincide")
Conjuntos
Estructuras no ordenadas y sin duplicados:
conjunto = set(["a", "b", "c"])
Listas por comprensión
Forma compacta de construir listas:
[i * i for i in range(5)] # [0, 1, 4, 9, 16]
Funciones
Definidas con def
o como funciones lambda:
def suma(x, y=2):
return x + y
lambda x, y=2: x + y
Clases
Definidas con class
, incluyen métodos y atributos:
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def mostrar_edad(self):
print(self.edad)