Resumen de Python: Un Lenguaje de Programación Versátil y Poderoso
Introducción Python es un lenguaje de programación de alto nivel, conocido por su legibilidad y soporte multiparadigma (orientado a objetos, imperativo y funcional). Es dinámico, multiplataforma y administrado por la Python Software Foundation bajo una licencia de código abierto.
Historia
- Creación: Desarrollado por Guido van Rossum a finales de los años ochenta en Países Bajos como sucesor del lenguaje ABC. La primera versión fue publicada en 1991.
- Evolución temprana: Python 1.0 fue lanzado en 1994. Van Rossum continuó su desarrollo en CNRI, promoviendo la iniciativa CP4E.
- Transiciones: En 2000, el desarrollo se trasladó a BeOpen.com, lanzando Python 2.0. Luego, el equipo se unió a Digital Creations.
- Licencias y fundación: La Python Software Foundation tomó el control en 2001, armonizando la licencia con la GNU GPL.
- Python 2 y 3: Python 2.0 introdujo características del lenguaje Haskell y un sistema de recolección de basura. Python 2.7.x fue descontinuado en 2020. Python 3.5 introdujo la biblioteca asyncio.
Aplicaciones actuales Python se utiliza ampliamente en inteligencia artificial y machine learning.
Características y Paradigmas Python soporta múltiples paradigmas, incluyendo programación orientada a objetos, imperativa y funcional. Utiliza tipado dinámico y conteo de referencias para la gestión de memoria. Es extensible con módulos en C o C++.
Filosofía La filosofía "pythónica" enfatiza la belleza, simplicidad, y legibilidad, como se describe en "El Zen de Python" por Tim Peters.
Modo interactivo Python incluye un modo interactivo para probar código en tiempo real, con herramientas adicionales como IDLE, bpython e IPython.
Elementos del lenguaje y sintaxis
- Tipos de datos: Python soporta varios tipos de datos básicos, incluyendo cadenas de caracteres (str), listas (list), tuplas (tuple), conjuntos (set y frozenset), diccionarios (dict), enteros (int), números decimales (float), números complejos (complex), y booleanos (bool).
- Mutabilidad: Algunos tipos son mutables (list, set, dict), mientras que otros son inmutables (str, tuple, frozenset).
- Condicionales y bucles: Python utiliza
if
,elif
, yelse
para condicionales, yfor
ywhile
para bucles. - Listas y tuplas: Listas son mutables y se declaran con corchetes [], mientras que las tuplas son inmutables y se declaran con paréntesis ().
- Diccionarios: Son mutables y se declaran con llaves {}, contienen pares clave-valor.
Características avanzadas
- Structural Pattern Matching: Introducido en la versión 3.10, permite comparaciones de valores, tipos de objetos y sus atributos.
- Conjuntos (set): Útiles para eliminar duplicados y realizar operaciones matemáticas.
- Listas por comprensión: Forma compacta de definir listas.
- Funciones: Definidas con
def
y funciones lambda. - Clases: Definidas con
class
, utilizan__init__
para inicializar atributos.
Sistema de objetos En Python, todo es un objeto, incluyendo las clases, que son instancias de una metaclase. Soporta herencia múltiple y polimorfismo.
Biblioteca estándar Python sigue la filosofía de "pilas incluidas", ofreciendo una extensa biblioteca estándar que puede ser complementada con módulos personalizados.
Implementaciones Existen varias implementaciones de Python, incluyendo:
- CPython (implementación original)
- IronPython (.NET)
- Stackless Python
- Jython (Java)
- Pippy (Palm)
- PyPy (optimizada mediante JIT)
- ActivePython (implementación privativa)
Incidencias
- Python 3000 (Py3K) fue lanzado en 2009, requiriendo reescritura del código de versiones anteriores.
- Desde mayo de 2019, Windows 10 incluye Python preinstalado.