Introducción a Python
Python es un lenguaje de programación de alto nivel. Este lenguaje tiene su origen en los años 80. Actualmente se utiliza Python 3, ya que desde 2020 no se mantiene Python 2. La documentación de Python 3 se puede encontrar en el siguiente enlace.
Administrado por la Python Software Foundation, tiene una licencia de código abierto. Actualmente es uno de los lenguajes más populares y el más utilizado en diferentes ámbitos: desarrollo web, análisis de datos, inteligencia artificial, scripting, etc.
Algunas de las grandes apps del momento están desarrolladas total o parcialmente en este lenguaje: Instagram, Netflix, Spotify, etc.
Python cuenta con una de las comunidades más grandes y activas en el mundo de la programación. Esto significa que hay abundante documentación, foros y proyectos de código abierto disponibles para ayudar a los programadores en todos los niveles de experiencia.
Características
Python es uno de los lenguajes de programación más populares y versátiles en la actualidad. Sus principales características incluyen:
- Sintaxis sencilla y clara: Python es conocido por su sintaxis limpia y legible, lo que facilita el aprendizaje y el uso. El código Python se asemeja al pseudocódigo, lo que lo hace más comprensible incluso para aquellos que son nuevos en la programación.
- Interpretado: Python es un lenguaje interpretado, lo que significa que el código se ejecuta línea por línea sin la necesidad de compilarse previamente. Esto permite una mayor interactividad durante el desarrollo y facilita la detección de errores.
- Multiparadigma: Python soporta varios paradigmas de programación, como la programación estructurada, orientada a objetos y funcional.
- Tipado:
- Dinámico: En Python, el tipo de las variables se determina automáticamente en tiempo de ejecución, lo que se conoce como tipado dinámico.
- Fuerte: El tipado es fuerte, lo que significa que no permite realizar operaciones entre tipos de datos incompatibles sin conversión explícita. Esto ayuda a prevenir errores inesperados durante la ejecución.
- Implícito: significa que Python deduce automáticamente el tipo de datos de una variable cuando se le asigna un valor, sin que el programador tenga que especificar el tipo de forma explícita.
- Gran colección de bibliotecas estándar: Python viene con una extensa colección de bibliotecas estándar, que incluye módulos para tareas como manipulación de archivos, comunicación en red, interacción con el sistema operativo, y mucho más. Además, existen miles de paquetes de terceros disponibles a través de repositorios como PyPI (Python Package Index).
- Portabilidad: El código Python puede ejecutarse en diferentes sistemas operativos (Windows, macOS, Linux, etc.) sin necesidad de cambios significativos. Esta portabilidad hace que Python sea ideal para proyectos que deben funcionar en varias plataformas.
Instalación del intérprete
Python está disponible para múltiples plataformas. Entre ellas, Windows, MacOS, Linux, Android e iOS.
Windows
La instalación de Python en Windows se realiza mediante los siguiente pasos:
-
Descargar Python. Abre tu navegador y ve a la página oficial de Python: python.org. Asegúrate de descargar la versión que dice "Windows" para tu sistema operativo.
-
Ejecutar el instalador. Una vez descargado el archivo, haz doble clic en él para abrir el instalador. En la primera pantalla del instalador, asegúrate de marcar la opción
Add Python to PATH. Esto es importante para que puedas ejecutar Python desde cualquier lugar en tu sistema a través de la línea de comandos. -
Verificar la instalación. Pulsa WIN+R, escribe
cmdy pulsaEnterpara abrir la línea de comandos. Escribe el siguiente comando y pulsaEnter:python --versionSi la instalación fue exitosa, deberías ver algo como
Python 3.X.X, donde3.X.Xes el número de la versión que instalaste.Símbolo del sistemaMicrosoft Windows [Versión 10.0.26100.6584] (c) Microsoft Corporation. Todos los derechos reservados.
C:\Users\User>python --version Python 3.13.9
Debian
La instalación de Python en Debian se realiza mediante los siguiente pasos:
-
Actualizar la lista de paquetes. Abre un terminal y ejecuta el siguiente comando para actualizar la lista de paquetes:
sudo apt update -
Instalar Python 3. La versión más reciente de Python 3 disponible en los repositorios oficiales puede ser instalada con:
sudo apt install python3Este comando instalará la versión de Python 3 que está disponible en los repositorios de Debian, que puede no ser la versión más reciente pero es una versión estable y probada.
-
Verificar la instalación. Para confirmar que Python 3 está instalado correctamente, ejecuta:
python3 --versionDeberías ver algo como
Python 3.X.X, donde3.X.Xes la versión de Python 3 instalada.
MacOS
-
Descargar Python. Abre tu navegador y ve a la página oficial de Python: python.org. Asegúrate de descargar la versión que dice "macOS" para tu sistema operativo.
-
Ejecutar el instalador. Una vez descargado el archivo, haz doble clic en él para abrir el instalador.
-
Verificar la instalación. Para confirmar que Python 3 está instalado correctamente, abre la aplicación Terminal y ejecuta:
python3 --version
Modo interactivo del intérprete
El modo interactivo del intérprete de Python es una forma de interactuar con el lenguaje de programación Python en tiempo real, proporcionando un entorno donde puedes escribir y ejecutar código Python de manera inmediata. Este modo es útil para pruebas rápidas, experimentación y depuración.
Las características principales del modo interactivo:
- Interactividad en tiempo real: Permite introducir código Python y ver los resultados inmediatamente. Esto es útil para probar fragmentos de código, experimentar con nuevas ideas o explorar la funcionalidad de diferentes funciones y módulos.
- Prompt del intérprete: En el modo interactivo, verás un prompt donde puedes introducir comandos. Normalmente, verás algo como
>>>que indica que el intérprete está listo para recibir entradas. - Ejecución de comandos y expresiones: Puedes escribir y ejecutar instrucciones y expresiones Python de forma directa. El intérprete evalúa estas expresiones y muestra los resultados de inmediato.
- Historial de comandos: El modo interactivo permite navegar por el historial de comandos, lo que facilita la reutilización y modificación de comandos previamente introducidos.
Uso
Una vez instalado podemos abrir el intérprete en una ventana de terminal escribiendo el comando python. Tras esto comenzará a ejecutarse de modo interactivo el intérprete Python.
C:\Users\User>python Python 3.13.7 (main, Aug 14 2025, 10:00:00) [MSC v.1944 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
El indicador >>> es el modo que tiene el intérprete de Python de preguntarte "¿Qué quieres que haga ahora?". Python ya está preparado para mantener una conversación. Ahora lo que tenemos es que saber cómo hablar su idioma.
Vamos a comenzar indicando que muestre por pantalla la frase "Hola mundo". Para ello utilizamos la función print de la siguiente manera:
>>> print("Hola mundo!")
Podemos observar cómo el intérprete imprime por pantalla la frase que le indicamos:
C:\Users\User>python Python 3.13.7 (main, Aug 14 2025, 10:00:00) [MSC v.1944 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print("Hola mundo!") Hola mundo! >>>
Python, cuando no entiende nuestro mensaje, nos informa que existe un error en nuestro mensaje y nos indica cuál puede ser ese posible error. Por ejemplo, vamos a enviar el mismo comando que antes pero sin paréntesis:
C:\Users\User>python Python 3.13.7 (main, Aug 14 2025, 10:00:00) [MSC v.1944 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print("Hola mundo!") Hola mundo! >>> print "Hola mundo!" File "<stdin>", line 1 print "Hola mundo!" ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)? >>>
Python es muy estricto en cuanto a su sintaxis. Por lo que su mal uso provocará un error.
Para cerrar el intérprete tan solo tenemos que escribir quit() o exit().
Crear un script
Un script es un tipo de programa informático que se escribe en lenguaje de programación y se ejecuta de forma secuencial.
Para ello abrimos un editor de texto o IDE y escribimos las líneas que deseamos que se ejecuten. Por ejemplo:
print("¡Hola mundo!")
Guardamos el archivo con el nombre hola.py. La extensión .py indica que es un programa escrito en Python. Ahora en un terminal escribimos el siguiente comando:
$ python3 hola.py
De este modo el intérprete de Python abre nuestro archivo y comienza a ejecutar todas las líneas del archivo de forma secuencial. Como solo contiene una línea ejecutará únicamente una instrucción.
Microsoft Windows [Versión 10.0.26100.4946] (c) Microsoft Corporation. Todos los derechos reservados.
C:\Users\User>python hola.py ¡Hola mundo!
C:\Users\User>
El comando para ejecutar scripts de Python en Windows no es python3 sino py o python. Por lo tanto, en este sistema operativo deberíamos escribir cualquiera de los dos siguientes comandos:
$ py hola.py
$ python hola.py
Cabeceras Python
Un script en Python como el visto anteriormente es totalmente funcional.
Generalmente, por convención se utilizan determinadas cabeceras. Por ejemplo las siguientes:
-
La primera línea se corresponde con el shebang. Útil si el script se va a ejecutar directamente en sistemas tipo Unix y la línea debe ser la siguiente:
#!/usr/bin/env python. En ella indicamos que se trata de un script escrito en Python. -
A continuación se puede indicar la codificación. Por ejemplo, para utilizar UTF-8 podemos añadir la línea
# -*- coding: utf-8 -*-. En Python 3 ya por defecto, si no se indica nada, se utiliza esta codificación. -
Lo siguiente debe ser una descripción del script como comentario.
Los comentarios son fragmentos de texto que no se ejecutan como código y sirven para proporcionar explicaciones, notas o documentación del código fuente.
Su sintaxis es la siguiente:
-
Los comentarios de una línea en Python comienzan con el símbolo
#.# Este es un comentario de una línea -
Los comentarios de varias líneas se pueden crear mediante triple comillas (
'''o""")."""Este es uncomentario multilínea"""'''Este es uncomentario multilínea'''
-
Importación de módulos.
-
Y por último, antes de comenzar el programa, se incluye la información de autoría. No tiene por qué incluirse toda la información. Un ejemplo de esa información es el siguiente:
__author__ = "Rob Knight, Gavin Huttley, and Peter Maxwell"
__copyright__ = "Copyright 2007, The Cogent Project"
__credits__ = ["Rob Knight", "Peter Maxwell", "Gavin Huttley",
"Matthew Wakefield"]
__license__ = "GPL"
__version__ = "1.0.1"
__maintainer__ = "Rob Knight"
__email__ = "rob@spot.colorado.edu"
__status__ = "Production"
Por lo tanto, el programa anterior debería quedar de la siguiente manera:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Programa que imprime en pantalla el texto "¡Hola mundo!"
"""
__author__ = "Autor1"
print("¡Hola mundo!")
Ejemplo de programa
El programa escrito en el apartado anterior es sencillo, quizá el más sencillo que se puede escribir. Vamos a complicarlo un poco. Necesitamos encontrar cuál es la palabra que más se usa de un texto. Podemos hacerlo a mano, lo que es muy laborioso, o escribir este programa:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Programa que cuenta el número de palabras de un archivo.
__author__ = "Autor1"
name = input('Enter file:')
handle = open(name, 'r')
counts = dict()
for line in handle:
words = line.split()
for word in words:
counts[word] = counts.get(word, 0) + 1
bigcount = None
bigword = None
for word, count in list(counts.items()):
if bigcount is None or count > bigcount:
bigword = word
bigcount = count
print(bigword, bigcount)
Este pequeño programa contiene muchas instrucciones que de momento no podemos entender. Pero eso no significa que no lo podamos utilizar. Si guardamos las líneas anteriores en un archivo denominado words.py podremos ejecutarlo en un terminal de la siguiente manera:
$ python3 words.py
El programa nos preguntará por la ruta del archivo con el texto que queremos analizar y posteriormente lo analizará y nos proporcionará la palabra más común y su número de apariciones.
Aquí un ejemplo de texto que guardamos en el archivo historia_python.txt que será el que analicemos.
Python fue creado a finales de los ochenta4 por Guido van Rossum en el Centro para las Matemáticas y la Informática (CWI, Centrum Wiskunde & Informatica), en los Países Bajos, como un sucesor del lenguaje de programación ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba.
El nombre del lenguaje proviene de la afición de su creador por los humoristas británicos Monty Python.
Van Rossum es el principal autor de Python, y su continuo rol central en decidir la dirección de Python es reconocido, refiriéndose a él como Benevolente Dictador Vitalicio (en inglés: Benevolent Dictator for Life, BDFL); sin embargo el 12 de julio de 2018 declinó de dicha situación de honor sin dejar un sucesor o sucesora y con una declaración altisonante:
Entonces, ¿qué van a hacer todos ustedes? ¿Crear una democracia? ¿Anarquía? ¿Una dictadura? ¿Una federación?
En 1991, van Rossum publicó el código de la versión 0.9.0 en alt.sources. En esta etapa del desarrollo ya estaban presentes clases con herencia, manejo de excepciones, funciones y los tipos modulares, como: str, list, dict, entre otros. Además en este lanzamiento inicial aparecía un sistema de módulos adoptado de Modula-3; van Rossum describe el módulo como «una de las mayores unidades de programación de Python». El modelo de excepciones en Python es parecido al de Modula-3, con la adición de una cláusula else. En el año 1994 se formó comp.lang.python, el foro de discusión principal de Python, marcando un hito en el crecimiento del grupo de usuarios de este lenguaje.
Python alcanzó la versión 1.0 en enero de 1994. Una característica de este lanzamiento fueron las herramientas de la programación funcional: lambda, reduce, filter y map. Van Rossum explicó que «hace 12 años, Python adquirió lambda, reduce(), filter() y map(), cortesía de Amrit Perm, un hacker informático de Lisp que las implementó porque las extrañaba».
La última versión liberada proveniente de CWI fue Python 1.2. En 1995, van Rossum continuó su trabajo en Python en la Corporation for National Research Initiatives (CNRI) en Reston, Virginia, donde lanzó varias versiones del software.
Durante su estancia en CNRI, van Rossum lanzó la iniciativa Computer Programming for Everybody (CP4E), con el fin de hacer la programación más accesible a más gente, con un nivel de 'alfabetización' básico en lenguajes de programación, similar a la alfabetización básica en inglés y habilidades matemáticas necesarias por muchos trabajadores. Python tuvo un papel crucial en este proceso: debido a su orientación hacia una sintaxis limpia, ya era idóneo, y las metas de CP4E presentaban similitudes con su predecesor, ABC. El proyecto fue patrocinado por DARPA. En el año 2007, el proyecto CP4E está inactivo, y mientras Python intenta ser fácil de aprender y no muy arcano en su sintaxis y semántica, alcanzando a los no-programadores, no es una preocupación activa.
En el año 2000, el equipo principal de desarrolladores de Python se cambió a BeOpen.com para formar el equipo BeOpen PythonLabs. CNRI pidió que la versión 1.6 fuera pública, continuando su desarrollo hasta que el equipo de desarrollo abandonó CNRI; su programa de lanzamiento y el de la versión 2.0 tenían una significativa cantidad de traslapo. Python 2.0 fue el primer y único lanzamiento de BeOpen.com. Después que Python 2.0 fuera publicado por BeOpen.com, Guido van Rossum y los otros desarrolladores de PythonLabs se unieron en Digital Creations.
Python 2.0 tomó una característica mayor del lenguaje de programación funcional Haskell: listas por comprensión. La sintaxis de Python para esta construcción es muy similar a la de Haskell, salvo por la preferencia de los caracteres de puntuación en Haskell, y la preferencia de Python por palabras claves alfabéticas. Python 2.0 introdujo además un sistema de recolección de basura capaz de recolectar referencias cíclicas.
Posterior a este doble lanzamiento, y después que van Rossum dejara CNRI para trabajar con desarrolladores de software comercial, quedó claro que la opción de usar Python con software disponible bajo GNU GPL era muy deseable. La licencia usada entonces, la Python License, incluía una cláusula estipulando que la licencia estaba gobernada por el estado de Virginia, por lo que, bajo la óptica de los abogados de Free Software Foundation (FSF), se hacía incompatible con GPL. Para las versiones 1.61 y 2.1, CNRI y FSF hicieron compatibles la licencia de Python con GPL, renombrandola Python Software Foundation License. En el año 2001, van Rossum fue premiado con FSF Award for the Advancement of Free Software.
Python 2.1 fue un trabajo derivado de las versiones 1.6.1 y 2.0. Es a partir de este momento que Python Software Foundation (PSF) pasa a ser dueño del proyecto, organizada como una organización sin ánimo de lucro fundada en el año 2001, tomando como modelo la Apache Software Foundation. Incluido en este lanzamiento fue una implementación del scoping más parecida a las reglas de static scoping (del cual Scheme es el originador).
Una innovación mayor en Python 2.2 fue la unificación de los tipos en Python (tipos escritos en C), y clases (tipos escritos en Python) dentro de una jerarquía. Esa unificación logró un modelo de objetos de Python puro y consistente. También fueron agregados los generadores que fueron inspirados por el lenguaje Icon.
Las adiciones a la biblioteca estándar de Python y las decisiones sintácticas fueron influenciadas fuertemente por Java en algunos casos: el package logging, introducido en la versión 2.3, está basado en log4j; el parser SAX, introducido en 2.0; el package threading, cuya clase Thread expone un subconjunto de la interfaz de la clase homónima en Java.
Python 2, es decir Python 2.7.x, fue oficialmente descontinuado el 1 de enero de 2020 (primero planeado para 2015) después de lo cual no se publicarán parches de seguridad y otras mejoras para él. Con el final del ciclo de vida de Python 2, solo tienen soporte la rama Python 3.5.x y posteriores.
En la actualidad, Python se aplica en los campos de inteligencia artificial y machine learning.
Vemos un ejemplo de la ejecución:
Microsoft Windows [Versión 10.0.26100.4946] (c) Microsoft Corporation. Todos los derechos reservados.
C:\Users\User>python words.py Enter file:historia_python.txt de 77
C:\Users\User>
El resultado no está diciendo que la palabra más repetida es «de» con un total de 77 ocurrencias.
Este es un buen ejemplo de cómo Python y el lenguaje Python actúan como intermediario entre el usuario final y el programador. Python es un medio para que intercambiemos secuencias de instrucciones útiles (programas) en un lenguaje común que puede ser usado por cualquiera. Por lo tanto usamos Python para comunicarnos entre nosotros los programadores y los usuarios de los programas.
PEP
PEP 8 es un documento de diseño llamado Python Enhancement Proposal 8 que proporciona directrices para la escritura de código en Python. Esta es considerada la hoja de estilo oficial para Python.
Algunas de las principales directrices son:
- Utilizar
snake_casepara nombres de variables y funciones. - No mezclar espacios y tabulaciones para la sangría.
- Incluir cadenas docstring para documentar módulos, funciones, clases y métodos.
- Colocar espacios alrededor de operadores para mejorar la legibilidad.