Introduccion a Python
Python es uno de los lenguajes de programacion mas populares y versatiles del mundo. Creado por Guido van Rossum y lanzado por primera vez en 1991, Python se ha convertido en una herramienta poderosa para el desarrollo web, ciencia de datos, aprendizaje automatico, automatizacion y mucho mas. Su sintaxis limpia y legibilidad lo convierten en un excelente primer lenguaje y un favorito entre desarrolladores experimentados.
¿Por que Python?
- Sintaxis legible: Python se lee como ingles, reduciendo la curva de aprendizaje y la carga de mantenimiento
- Versatil: Se usa en desarrollo web, ciencia de datos, IA/ML, DevOps, scripting y mas
- Ecosistema masivo: Mas de 400,000 paquetes en PyPI cubriendo practicamente cualquier caso de uso
- Comunidad: Una de las comunidades de desarrolladores mas grandes con documentacion extensa y tutoriales
- Multiplataforma: Se ejecuta en Windows, macOS, Linux y muchas otras plataformas
Como funciona Python
Python es un lenguaje interpretado. Cuando ejecutas un programa en Python, el interprete lee tu codigo fuente, lo compila a bytecode (una representacion intermedia) y luego ejecuta ese bytecode en la Maquina Virtual de Python (PVM). Esto es diferente de los lenguajes compilados como C o Go, donde el codigo fuente se compila a codigo maquina antes de la ejecucion.
# Your first Python program
print("Hello, World!")
# Python can do math
result = 42 * 2
print(f"The answer is {result}")
# Python is dynamically typed
name = "Alice" # string
age = 30 # integer
height = 5.7 # float
is_student = False # boolean
print(f"{name} is {age} years old and {height}ft tall")
Versiones de Python: Python 2 vs Python 3
Python 2 llego al final de su vida util el 1 de enero de 2020. Todos los proyectos nuevos deben usar Python 3. A partir de 2026, la ultima version estable es Python 3.13. Las diferencias clave incluyen que print es una funcion en Python 3, division entera verdadera, cadenas Unicode por defecto y muchas mejoras de sintaxis como f-strings y el operador walrus.
Instalacion de Python
La mayoria de los sistemas vienen con Python preinstalado, pero debes asegurarte de tener Python 3.10 o posterior para la mejor experiencia con funcionalidades modernas como el pattern matching estructural y mensajes de error mejorados.
# Check your Python version
# In terminal:
# python3 --version
# Python 3.13.x
# On macOS with Homebrew:
# brew install python@3.13
# On Ubuntu/Debian:
# sudo apt update
# sudo apt install python3.13
# On Windows:
# Download from python.org or use winget:
# winget install Python.Python.3.13
El REPL de Python
El REPL de Python (Read-Eval-Print Loop) es una shell interactiva donde puedes escribir codigo Python y ver resultados inmediatamente. Es invaluable para la experimentacion, depuracion y aprendizaje. Simplemente escribe python3 en tu terminal para iniciarlo.
>>> 2 + 2
4
>>> "hello".upper()
'HELLO'
>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]
>>> help(str.split)
# Shows documentation for the split method
Estructura de un Script Python
Un script de Python es simplemente un archivo de texto con extension .py. A diferencia de muchos lenguajes, Python no requiere una funcion main ni codigo repetitivo. El codigo en el nivel superior de un modulo se ejecuta cuando se ejecuta el archivo. Sin embargo, el patron if __name__ == "__main__" es una buena practica para scripts que tambien pueden ser importados como modulos.
# app.py - A well-structured Python script
import sys
from datetime import datetime
def greet(name: str) -> str:
"""Return a greeting message."""
current_hour = datetime.now().hour
if current_hour < 12:
period = "morning"
elif current_hour < 17:
period = "afternoon"
else:
period = "evening"
return f"Good {period}, {name}!"
def main():
"""Entry point for the script."""
if len(sys.argv) > 1:
name = sys.argv[1]
else:
name = "World"
message = greet(name)
print(message)
if __name__ == "__main__":
main()
Indentacion y bloques de codigo
Python usa indentacion para definir bloques de codigo en lugar de llaves o palabras clave. Esto no es simplemente una eleccion de estilo — es parte de la sintaxis del lenguaje. La convencion estandar es 4 espacios por nivel de indentacion. Mezclar tabulaciones y espacios causara errores.
# Indentation defines blocks
def calculate_grade(score):
if score >= 90:
grade = "A"
print("Excellent!")
elif score >= 80:
grade = "B"
print("Good job!")
elif score >= 70:
grade = "C"
print("Not bad")
else:
grade = "F"
print("Needs improvement")
return grade
# Nested indentation
for i in range(3):
for j in range(3):
if i == j:
print(f"({i},{j}) is on the diagonal")
Comentarios y Docstrings
Python soporta comentarios de una sola linea con # y cadenas de documentacion multilinea (docstrings) con comillas triples. Los docstrings no son solo comentarios — son accesibles en tiempo de ejecucion a traves del atributo __doc__ y son usados por herramientas como Sphinx para generar documentacion.
# This is a single-line comment
"""
This is a module-level docstring.
It describes what this module does.
"""
def fibonacci(n: int) -> list[int]:
"""
Generate the first n Fibonacci numbers.
Args:
n: The number of Fibonacci numbers to generate.
Returns:
A list of the first n Fibonacci numbers.
Examples:
>>> fibonacci(5)
[0, 1, 1, 2, 3]
"""
if n <= 0:
return []
fib = [0, 1]
while len(fib) < n:
fib.append(fib[-1] + fib[-2])
return fib[:n]
Puntos clave
- Python es interpretado: No se necesita un paso de compilacion — escribe y ejecuta inmediatamente
- La indentacion importa: Usa 4 espacios consistentemente para los bloques de codigo
- Usa Python 3: Siempre usa Python 3.10+ para funcionalidades modernas
- El REPL es tu amigo: Usalo para experimentacion y pruebas rapidas
- Escribe docstrings: Documenta tus funciones y modulos con cadenas de comillas triples