Fundamentos de Python: Sintaxis y estructuras de datos
Un Junior Python Developer debe dominar con soltura los conceptos fundamentales del lenguaje. Conocer la sintaxis básica es la base sobre la que se construye toda la carrera de un programador.
Variables y tipos de datos
Python ofrece múltiples tipos de datos integrados, cada uno con sus propias características:
- int — números enteros (por ejemplo, 42, -7)
- float — números de punto flotante (3.14, -2.5)
- str — cadenas de texto ("Hola", 'Python')
- bool — valores booleanos (True, False)
- list — colecciones ordenadas y mutables [1, 2, 3]
- tuple — colecciones inmutables (1, 2, 3)
- dict — diccionarios con pares clave-valor {"nombre": "Juan"}
- set — conjuntos de elementos únicos {1, 2, 3}
Condicionales y bucles
Controlar el flujo de ejecución del programa es una habilidad fundamental:
# Condicionales
edad = 25
if edad >= 18:
print("Mayor de edad")
elif edad >= 13:
print("Adolescente")
else:
print("Niño")
# Bucles
for i in range(5):
print(f"Iteración {i}")
numeros = [1, 2, 3, 4, 5]
while numeros:
print(numeros.pop())
Funciones y parámetros
Las funciones son la base de la programación modular. Un desarrollador Junior debe entender las distintas formas de pasar parámetros:
def calcular_descuento(precio, descuento=0.1, *args, **kwargs):
"""Calcula el precio con descuento"""
precio_final = precio * (1 - descuento)
if kwargs.get('cliente_vip'):
precio_final *= 0.95
return precio_final
# Uso
resultado = calcular_descuento(1000, 0.2, cliente_vip=True)
Trabajo con archivos
Saber leer y escribir archivos es necesario para la mayoría de las tareas prácticas:
# Lectura de archivo
with open('datos.txt', 'r', encoding='utf-8') as archivo:
contenido = archivo.read()
# Escritura en archivo
with open('salida.txt', 'w', encoding='utf-8') as archivo:
archivo.write("Resultado del procesamiento")
Estructuras de datos: Cómo elegir la mejor opción
Saber cuándo usar cada estructura de datos es lo que diferencia a un buen programador de un principiante.
| Estructura | Descripción | Cuándo usarla | Complejidad de acceso |
|---|---|---|---|
| List | Colección ordenada y mutable | Cuando necesitas orden y modificaciones | O(1) por índice |
| Tuple | Colección ordenada e inmutable | Para datos constantes | O(1) por índice |
| Dict | Pares clave-valor | Búsqueda rápida por clave | O(1) en promedio |
| Set | Elementos únicos | Eliminar duplicados, verificar pertenencia | O(1) en promedio |
Ejemplos prácticos de uso
# Lista para almacenar historial de operaciones
historial_operaciones = []
historial_operaciones.append("Creación de archivo")
historial_operaciones.append("Edición")
# Tupla para coordenadas (inmutables)
coordenadas = (10.5, 20.3)
# Diccionario para configuración
config = {
"url_base_datos": "localhost:5432",
"depuracion": True,
"max_conexiones": 100
}
# Conjunto para etiquetas únicas
etiquetas = {"python", "programacion", "tutorial"}
Programación Orientada a Objetos (POO)
La POO es un paradigma de programación sin el cual es difícil trabajar en proyectos grandes. Un Junior debe comprender sus pilares: encapsulamiento, herencia y polimorfismo.