W3docs

Python HOME

Guía completa para principiantes en Python: qué es, por qué importa, cómo instalarlo y tus primeros programas con ejemplos claros.

Python es un lenguaje de programación de alto nivel y propósito general, reconocido por su sintaxis legible y su amplia aplicabilidad — desde servidores web y canales de datos hasta modelos de aprendizaje automático y scripts de automatización. Este tutorial cubre todo lo que necesitas para ir desde cero hasta escribir programas reales en Python.

¿Qué es Python?

Python fue creado por Guido van Rossum y lanzado por primera vez en 1991. Es:

  • Interpretado — el código se ejecuta línea por línea; no se necesita un paso de compilación separado.
  • Tipado dinámico — los tipos de variables se infieren en tiempo de ejecución, no se declaran de antemano.
  • Multiparadigma — admite estilos procedural, orientado a objetos y funcional.
  • Multiplataforma — el mismo script se ejecuta en Windows, macOS y Linux sin cambios.

Python ocupa consistentemente uno de los primeros puestos entre los lenguajes de programación más utilizados en encuestas anuales de desarrolladores, en parte porque su sintaxis se asemeja al inglés simple, lo que hace que los programas sean más fáciles de leer y mantener que en muchos otros lenguajes.

¿Por qué aprender Python?

Python es un buen primer lenguaje porque la distancia entre "lo que piensas" y "lo que escribes" es pequeña. Considera imprimir un mensaje:

print("Hello, World!")

Ese es el programa completo — sin importaciones, sin código repetitivo de clases, sin puntos y coma.

Más allá de la simplicidad, Python se usa genuinamente en producción:

DominioBibliotecas comunes
Desarrollo webDjango, Flask, FastAPI
Análisis de datosPandas, NumPy
Aprendizaje automáticoscikit-learn, TensorFlow, PyTorch
Automatización / scriptingbiblioteca estándar (os, pathlib, subprocess)
Computación científicaSciPy, Matplotlib

Aprender Python abre puertas en todas estas áreas con un solo lenguaje.

Instalar Python

Python está disponible en python.org. Descarga el instalador para tu sistema operativo y sigue las instrucciones. Activa la opción "Add Python to PATH" en Windows para poder ejecutar Python desde cualquier terminal.

Verifica la instalación:

python3 --version
# Python 3.12.x  (version number will vary)

En Windows el comando puede ser python en lugar de python3.

Tu primer programa en Python

Abre cualquier editor de texto sin formato (o un IDE como VS Code), crea un archivo llamado hello.py y añade:

print("Hello, World!")

Ejecútalo desde tu terminal:

python3 hello.py
# Hello, World!

El intérprete interactivo (REPL)

Python también incluye un intérprete interactivo — el REPL (Read-Eval-Print Loop). Escribe python3 en tu terminal y obtendrás un indicador (>>>) donde puedes ejecutar código de inmediato:

>>> 2 + 2
4
>>> name = "Alice"
>>> print(f"Hello, {name}!")
Hello, Alice!

El REPL es útil para experimentos rápidos; los scripts (archivos .py) son mejores para todo lo que quieras guardar o repetir.

Sintaxis básica de Python

Python usa sangría (espacios o tabulaciones, de forma consistente) para definir bloques de código en lugar de llaves {}. Esta es una de sus características más distintivas.

age = 20

if age >= 18:
    print("Adult")      # indented → inside the if block
else:
    print("Minor")      # indented → inside the else block

print("Done")           # not indented → outside the if/else

Un error de sangría provoca un IndentationError, por lo que los editores que muestran los espacios en blanco son útiles al comenzar.

Consulta Python Syntax para una referencia completa.

Variables y tipos de datos

Una variable es un nombre que almacena un valor. En Python se crea asignándole un valor — no se necesita ninguna palabra clave de declaración:

x = 10          # integer
pi = 3.14159    # float
greeting = "Hi" # string
active = True   # boolean
nothing = None  # absence of a value

Los tipos integrados principales de Python incluyen:

TipoEjemploDescripción
int42Números enteros
float3.14Números decimales
str"hello"Texto
boolTrue / FalseLógica
list[1, 2, 3]Secuencia ordenada y mutable
tuple(1, 2, 3)Secuencia ordenada e inmutable
dict{"a": 1}Pares clave-valor
set{1, 2, 3}Valores únicos sin orden

Puedes comprobar el tipo de un valor con type():

print(type(42))       # <class 'int'>
print(type("hello"))  # <class 'str'>
print(type([1, 2]))   # <class 'list'>

Consulta Data Types y Variables para más detalles.

Flujo de control

if / elif / else

score = 75

if score >= 90:
    grade = "A"
elif score >= 75:
    grade = "B"
elif score >= 60:
    grade = "C"
else:
    grade = "F"

print(grade)  # B

Bucles for

for itera sobre cualquier secuencia — una lista, una cadena, un rango o cualquier iterable:

fruits = ["apple", "banana", "cherry"]

for fruit in fruits:
    print(fruit)
# apple
# banana
# cherry

for i in range(3):   # range(3) produces 0, 1, 2
    print(i)
# 0
# 1
# 2

Bucles while

count = 0
while count < 3:
    print(count)
    count += 1
# 0
# 1
# 2

Consulta if / else y for loops para una cobertura completa.

Funciones

Una función agrupa lógica reutilizable bajo un nombre. Se define con def y se llama por su nombre:

def add(a, b):
    return a + b

result = add(3, 5)
print(result)  # 8

Las funciones pueden tener valores de parámetro predeterminados para que los llamadores puedan omitir argumentos opcionales:

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

print(greet("Alice"))            # Hello, Alice!
print(greet("Bob", "Hi"))        # Hi, Bob!

Consulta Python Functions para ver parámetros, valores de retorno y alcance.

Trabajar con cadenas de texto

Las cadenas admiten un amplio conjunto de operaciones:

s = "python programming"

print(s.upper())          # PYTHON PROGRAMMING
print(s.title())          # Python Programming
print(s.replace("python", "great"))  # great programming
print(len(s))             # 18
print(s[0:6])             # python  (slicing)

Las f-strings (literales de cadena formateados, Python 3.6+) son la forma moderna de insertar expresiones en texto:

language = "Python"
version = 3.12
print(f"Learning {language} {version}")  # Learning Python 3.12

Consulta Python Strings y Format Strings para más información.

Listas — la colección más utilizada

Una lista contiene una secuencia ordenada y modificable de elementos:

colors = ["red", "green", "blue"]

colors.append("yellow")   # add to end
print(colors)             # ['red', 'green', 'blue', 'yellow']

colors.remove("green")
print(colors)             # ['red', 'blue', 'yellow']

print(colors[1])          # blue  (zero-indexed)
print(len(colors))        # 3

Consulta Python Lists para ver segmentación, ordenación y comprensiones de listas.

Módulos y la biblioteca estándar

Un módulo es un archivo Python que se importa para reutilizar su código. Python incluye una extensa biblioteca estándar — módulos para matemáticas, E/S de archivos, fechas, redes y más — de modo que muchas tareas no necesitan paquetes de terceros en absoluto.

import math
import random

print(math.sqrt(16))          # 4.0
print(math.pi)                # 3.141592653589793
print(random.randint(1, 6))   # random integer between 1 and 6

Instala paquetes de terceros con pip:

pip install requests

Luego impórtalos de la misma manera:

import requests

response = requests.get("https://httpbin.org/get")
print(response.status_code)  # 200

Manejo de errores

Python señala los problemas lanzando excepciones. Usa try / except para manejarlas de forma controlada en lugar de que el programa falle:

try:
    number = int("abc")   # this raises ValueError
except ValueError:
    print("That is not a valid number.")

# That is not a valid number.

Un except sin especificar captura todo — evítalo. Nombra siempre el tipo de excepción específico para que los errores inesperados sigan apareciendo.

Consulta Python try / except para ver else, finally y excepciones personalizadas.

Próximos pasos

Esta página introdujo los fundamentos. El resto del tutorial profundiza en cada tema:

Práctica

Práctica
Which of the following are characteristics of Python?
Which of the following are characteristics of Python?
Was this page helpful?