int = 101
id1: int = 102 id2:
25 Anotaciones
Las anotaciones en Python son una herramienta que permite agregar información adicional sobre las variables, funciones y métodos que programamos. Aunque no restringen el tipo de datos que se puede almacenar en una variable, proporcionan un contexto más claro sobre el objetivo del código, beneficiando la legibilidad y comprensión, especialmente en entornos de trabajo en equipo.
25.1 En variables
Las anotaciones para las variables consisten en especificar el tipo esperado usando dos puntos seguidos de la declaración del tipo. Por ejemplo, al crear un identificador para empleados, podríamos especificarlo de la siguiente manera:
25.2 En funciones
En las funciones, las anotaciones ayudan a definir los tipos de datos que los parámetros deben recibir y el tipo de dato que devolverá la función. La sintaxis se asemeja a esto:
# Aqui estipulamos lo que se espera para los parametros
# y el resultado deberia ser un entero
def sumar_ids_empleados(id1: int, id2: int) -> int:
return id1 + id2
25.3 En clases
Al trabajar con clases, las anotaciones ayudan a definir tipos de los atributos y métodos.
class Empleado:
def __init__(self, nombre: str, edad: int, salario: float):
self.nombre = nombre
self.edad = edad
self.salario = salario
def presentarse(self) -> str:
return f"Hola, me llamo {self.nombre}. Tengo {self.edad} años."
25.4 Optional y Union
Las librerías Optional
y Union
permiten mayor flexibilidad en las anotaciones al trabajar con funciones que pueden manejar múltiples tipos de datos o retornar None
.
from typing import Optional
def buscar_usuario(id_usuario: int) -> Optional[str]:
"""
Busca un usuario por ID.
Retorna el nombre del usuario o None si no existe.
"""
= {1: "Ana", 2: "Luis", 3: "María"}
usuarios
if id_usuario in usuarios:
return usuarios[id_usuario] # Retorna str
else:
return None # Retorna None
# Uso de la función
= buscar_usuario(1) # tipo: Optional[str]
nombre print(nombre) # "Ana"
= buscar_usuario(99) # tipo: Optional[str]
nombre print(nombre) # None