Python: Introducción
Descubre la introducción a Python, su filosofía, características y aplicaciones para principiantes en programación.
Aprende Python GRATIS y certifícateIntroducción a Python
Python es un lenguaje de programación de alto nivel que ha revolucionado el mundo del desarrollo de software gracias a su filosofía de diseño centrada en la legibilidad y simplicidad. Creado por Guido van Rossum a finales de los años 80, Python ha evolucionado hasta convertirse en uno de los lenguajes más populares y versátiles del panorama tecnológico actual.
¿Qué hace especial a Python?
Python destaca por varias características que lo han convertido en la elección preferida tanto para principiantes como para desarrolladores experimentados:
Sintaxis clara y expresiva: El código Python se asemeja al lenguaje natural, lo que facilita su lectura y escritura.
Versatilidad: Se utiliza en campos tan diversos como desarrollo web, ciencia de datos, inteligencia artificial, automatización, y muchos más.
Multiplataforma: Funciona en Windows, macOS, Linux y otros sistemas operativos sin necesidad de modificar el código.
Interpretado: No requiere compilación previa, lo que agiliza el proceso de desarrollo y prueba.
Tipado dinámico: No es necesario declarar el tipo de las variables, lo que hace el código más conciso.
Filosofía de Python
La filosofía de diseño de Python está recogida en "El Zen de Python", un conjunto de principios que guían el desarrollo del lenguaje y que puedes consultar ejecutando import this
en el intérprete:
import this
Algunos de estos principios fundamentales incluyen:
- Legibilidad: "El código legible es mejor que el código elegante"
- Simplicidad: "Simple es mejor que complejo"
- Explícito: "Explícito es mejor que implícito"
- Pragmatismo: "Practicidad gana a pureza"
Esta filosofía ha contribuido a crear un ecosistema coherente y una comunidad que valora el código limpio y bien estructurado.
Áreas de aplicación
Python se ha convertido en un lenguaje omnipresente en múltiples campos:
- Desarrollo web: Con frameworks como Django, Flask o FastAPI
- Ciencia de datos: Mediante bibliotecas como NumPy, Pandas y Matplotlib
- Inteligencia artificial: A través de TensorFlow, PyTorch y scikit-learn
- Automatización: Para scripts de sistema, web scraping y tareas repetitivas
- Desarrollo de videojuegos: Con bibliotecas como Pygame
- Aplicaciones de escritorio: Utilizando Tkinter, PyQt o wxPython
Versiones de Python
Python ha evolucionado significativamente a lo largo de los años. Actualmente, la versión Python 3 es el estándar de la industria, con mejoras continuas en rendimiento, seguridad y funcionalidades.
Las diferencias entre Python 2 (ya obsoleto) y Python 3 fueron sustanciales, incluyendo cambios en la gestión de cadenas, la división de enteros y la sintaxis de impresión, entre otros aspectos.
El ecosistema Python
El poder de Python reside en gran medida en su rico ecosistema de bibliotecas y herramientas:
- PyPI (Python Package Index): Repositorio con más de 400,000 paquetes disponibles
- pip: El gestor de paquetes estándar para instalar bibliotecas
- Entornos virtuales: Herramientas como venv o virtualenv para aislar dependencias
- Jupyter Notebooks: Entornos interactivos para experimentación y documentación
- IDEs y editores: Desde PyCharm y VS Code hasta IDLE y Spyder
Tu primer programa en Python
Tradicionalmente, el primer programa en cualquier lenguaje es el famoso "Hola Mundo". En Python, esto se reduce a una sola línea:
print("¡Hola, Mundo!")
Esta simplicidad ilustra perfectamente la filosofía de Python: hacer las cosas de la manera más clara y directa posible.
Variables y tipos de datos básicos
Python maneja varios tipos de datos fundamentales:
- Números: Enteros, flotantes y complejos
entero = 42
flotante = 3.14
complejo = 1 + 2j
- Cadenas de texto: Secuencias de caracteres
nombre = "Python"
descripcion = 'Lenguaje de programación'
texto_largo = """Este es un texto
que ocupa varias líneas"""
- Booleanos: Valores de verdad (True/False)
es_facil = True
es_dificil = False
- Listas: Colecciones ordenadas y modificables
lenguajes = ["Python", "JavaScript", "Java"]
numeros = [1, 2, 3, 4, 5]
mixta = [1, "Python", True, 3.14]
- Tuplas: Colecciones ordenadas e inmutables
coordenadas = (10, 20)
rgb = (255, 0, 0)
- Diccionarios: Colecciones de pares clave-valor
persona = {
"nombre": "Ana",
"edad": 28,
"profesion": "Desarrolladora"
}
- Conjuntos: Colecciones no ordenadas de elementos únicos
colores = {"rojo", "verde", "azul"}
Control de flujo
Python ofrece las estructuras habituales para controlar el flujo de ejecución:
- Condicionales:
edad = 18
if edad < 18:
print("Menor de edad")
elif edad == 18:
print("Justo en la mayoría de edad")
else:
print("Mayor de edad")
- Bucles for:
for i in range(5):
print(i) # Imprime 0, 1, 2, 3, 4
for color in ["rojo", "verde", "azul"]:
print(f"El color es {color}")
- Bucles while:
contador = 0
while contador < 5:
print(contador)
contador += 1
Funciones
Las funciones permiten organizar el código en bloques reutilizables:
def saludar(nombre):
"""Esta función saluda a la persona especificada"""
return f"Hola, {nombre}!"
# Llamada a la función
mensaje = saludar("María")
print(mensaje) # Imprime: Hola, María!
Python también soporta funciones lambda (anónimas) para operaciones simples:
cuadrado = lambda x: x ** 2
print(cuadrado(5)) # Imprime: 25
Programación orientada a objetos
Python es un lenguaje multiparadigma que soporta completamente la programación orientada a objetos:
class Persona:
def __init__(self, nombre, edad):
self.nombre = nombre
self.edad = edad
def presentarse(self):
return f"Hola, soy {self.nombre} y tengo {self.edad} años."
# Crear un objeto
ana = Persona("Ana", 28)
print(ana.presentarse()) # Imprime: Hola, soy Ana y tengo 28 años.
Manejo de excepciones
Python proporciona un sistema robusto para el manejo de errores:
try:
numero = int(input("Introduce un número: "))
resultado = 10 / numero
print(f"El resultado es {resultado}")
except ValueError:
print("Error: Debes introducir un número válido")
except ZeroDivisionError:
print("Error: No puedes dividir por cero")
finally:
print("Proceso finalizado")
Módulos y paquetes
La modularidad es un concepto clave en Python. El código se organiza en:
- Módulos: Archivos individuales con extensión .py
- Paquetes: Directorios que contienen múltiples módulos
Para utilizar funcionalidades de otros módulos, se emplea la instrucción import
:
# Importar un módulo completo
import math
print(math.sqrt(16)) # 4.0
# Importar funciones específicas
from datetime import datetime
ahora = datetime.now()
# Importar con alias
import numpy as np
array = np.array([1, 2, 3])
Características modernas de Python
Python continúa evolucionando con cada nueva versión, incorporando características avanzadas:
- Anotaciones de tipo (desde Python 3.5):
def suma(a: int, b: int) -> int:
return a + b
- f-strings (desde Python 3.6):
nombre = "Python"
version = 3.13
print(f"{nombre} {version} es la última versión")
- Asignación de expresiones (desde Python 3.8):
if (n := len([1, 2, 3])) > 2:
print(f"La lista tiene {n} elementos")
- Operador de unión de diccionarios (desde Python 3.9):
dict1 = {"a": 1, "b": 2}
dict2 = {"c": 3, "d": 4}
combinado = dict1 | dict2 # {'a': 1, 'b': 2, 'c': 3, 'd': 4}
- Coincidencia de patrones (desde Python 3.10):
def analizar_valor(valor):
match valor:
case 0:
return "Cero"
case 1 | 2:
return "Uno o dos"
case int(n) if n > 10:
return "Número grande"
case str():
return "Es una cadena"
case _:
return "Otro tipo"
- Parámetros de solo posición (desde Python 3.8):
def dividir(a, b, /, *, redondear=False):
resultado = a / b
if redondear:
return round(resultado)
return resultado
La comunidad Python
Uno de los mayores activos de Python es su comunidad activa y acogedora. Existen numerosos recursos para aprender y mejorar:
- Documentación oficial: Completa y bien estructurada
- PEP (Python Enhancement Proposals): Documentos que definen estándares y mejoras
- Conferencias: PyCon, EuroPython y muchas más a nivel local
- Foros y comunidades: Stack Overflow, Reddit r/Python, Discord
La comunidad promueve un código de conducta inclusivo y colaborativo, siguiendo el espíritu de la filosofía Python.
Lecciones de este módulo de Python
Lecciones de programación del módulo Introducción del curso de Python.
Versiones De Python
Instalación De Python
Introducción A Python
Estructura Léxica: Líneas E Indentación, Tokens,sentencias Y Comentarios
Peps En Python
Estructuras De Control
Instalación Y Creación De Proyecto
Tema 1: Introducción A Python
Instalación De Python
Variables
Tema 2: Tipos De Datos, Variables Y Operadores
Instalación De Python
Variables
Introducción A Python
Ejercicios de programación en este módulo de Python
Evalúa tus conocimientos en Introducción con ejercicios de programación Introducción de tipo Test, Puzzle, Código y Proyecto con VSCode.