Guía de sugerencias de tipo Python

Domine las sugerencias de tipo Python para una mejor documentación del código, compatibilidad con IDE y análisis estático

Guía de sugerencias de tipo Python

Las sugerencias de escritura hacen que su código Python sea más legible, fácil de mantener y detecta errores antes del tiempo de ejecución.

Sintaxis básica

def greet(name: str) -> str:
    return f"Hello, {name}!"

def add(a: int, b: int) -> int:
    return a + b

Tipos comunes

from typing import Optional, Union, Any

# Optional - can be None
def find_user(user_id: int) -> Optional[User]:
    ...

# Union - multiple types (Python 3.10+: use |)
def process(value: Union[str, int]) -> str:
    ...

# Python 3.10+ syntax
def process(value: str | int) -> str:
    ...

Colecciones

# Lists
names: list[str] = ["Alice", "Bob"]

# Dictionaries
ages: dict[str, int] = {"Alice": 30, "Bob": 25}

# Sets
unique_ids: set[int] = {1, 2, 3}

# Tuples (fixed length)
point: tuple[int, int] = (10, 20)

Alias de tipo

from typing import TypeAlias

UserId: TypeAlias = int
UserMap: TypeAlias = dict[UserId, "User"]

def get_users() -> UserMap:
    ...

Comprobación de tipo estático

Utilice mypy o pyright para verificar los tipos:

mypy your_module.py
pyright your_module.py

Ambos se integran con la mayoría de los IDE para obtener comentarios en tiempo real.