Utilizando un prompt que pedía un numero de palabras exactas y que mantuviera coherencia entre los parrafos se logró sintetizar la información del texto largo. Introducción Python es un lenguaje de programación de alto nivel, interpretado, que destaca por su legibilidad. Se utiliza en diversas aplicaciones, desde Instagram hasta Netflix. Es multiparadigma, soportando orientación a objetos, programación imperativa y funcional. Administrado por la Python Software Foundation, es de código abierto y consistentemente uno de los lenguajes más populares.
Historia Creado por Guido van Rossum en los Países Bajos a finales de los 80, Python es sucesor del lenguaje ABC. Su nombre proviene de los Monty Python. Van Rossum, inicialmente "Benevolente Dictador Vitalicio", cedió su rol en 2018. La primera versión (0.9.0) se publicó en 1991, incluyendo clases, excepciones y tipos modulares. En 1994, nació el foro comp.lang.python y se lanzó Python 1.0 con herramientas de programación funcional.
Filosofía La filosofía de Python, similar a la de Unix, promueve un código "pythónico". Tim Peters la describió en "El Zen de Python": "Bello es mejor que feo, explícito mejor que implícito, simple mejor que complejo". Prioriza la legibilidad, la practicidad sobre la pureza, y la claridad sobre la ambigüedad. Los "namespaces" son una idea clave.
Tipos de datos Python maneja diversos tipos de datos: cadenas (str), bytes, listas (list) mutables, tuplas (tuple) inmutables, conjuntos (set) y conjuntos inmutables (frozenset). También incluye diccionarios (dict), números enteros (int), decimales (float), complejos (complex) y booleanos (bool). La mutabilidad define si un valor puede cambiar en tiempo de ejecución.
Condicionales Las sentencias condicionales en Python, definidas con if, elif y else, ejecutan bloques de código basados en condiciones. if inicia la condición, elif añade condiciones adicionales y else se ejecuta si ninguna condición es verdadera. Las condiciones se evalúan secuencialmente.
verdadero = True
if verdadero:
print("Verdadero")
else:
print("Falso")
Bucle for El bucle for itera sobre objetos iterables como listas o cadenas. Ejecuta un bloque de código para cada elemento del iterable. Se define con for seguido de una variable, in y el iterable.
lista = ["a", "b", "c"]
for i in lista:
print(i)
Bucle while
El bucle while ejecuta un bloque de código mientras una condición sea verdadera. Se define con while seguido de la condición. Es crucial modificar las variables de control dentro del bucle.
numero = 0
while numero < 10:
print(numero, end=" ")
numero += 1
Listas y Tuplas
Las listas, mutables y declaradas con [], y las tuplas, inmutables y con (), almacenan colecciones de elementos. Las listas son para elementos del mismo tipo en cantidad variable, las tuplas para elementos distintos en cantidad fija.
lista = ["abc", 42, 3.1415]
tupla = ("abc", 42, 3.1415)
Diccionarios Los diccionarios, declarados con {}, almacenan pares clave-valor. Las claves deben ser inmutables y los valores pueden ser de cualquier tipo. Son mutables y permiten acceder a valores mediante claves.
diccionario = {"cadena": "abc", "numero": 42}
Sentencia match-case Introducida en Python 3.10, match-case permite comparar valores, tipos y atributos. Es más compleja que switch-case y soporta desempaquetado de secuencias. En versiones anteriores, se usan if, elif, else o diccionarios para lógica similar.
match coordenada:
case Punto(x=10, y=40):
print("Coordenada 10, 40")
Conjuntos Los conjuntos, creados con set(), son colecciones sin orden ni duplicados. Se usan para eliminar duplicados y realizar operaciones matemáticas. frozenset() crea conjuntos inmutables.
conjunto1 = set(["a", "b", "a"])
conjunto2 = set(["a", "b", "c", "d"])
Listas por comprensión
Las listas por comprensión son expresiones compactas para crear listas. Similar a lambda, permite generar listas de forma concisa.
[i * i for i in range(5)]
Funciones
Las funciones se definen con def o lambda. def permite funciones con múltiples líneas y lambda funciones anónimas de una línea. *args y **kwargs manejan argumentos variables.
def suma(x, y=2):
return x + y
suma = lambda x, y=2: x + y
Clases Las clases, definidas con class, permiten crear objetos con atributos y métodos. init inicializa objetos. Los atributos se acceden con self.
class Persona():
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad