Tag: PYTHON-TYPING
Considere el siguiente ejemplo de código: “`python def suma(a: int, b: int): return a + b def envoltura(<em>args, *</em>kwargs): # delegar a la función suma return suma(<em>args, *</em>kwargs) “` El código funciona bien, excepto que se pierde la indicación de tipos. Es muy común en Python usar *args, **kwargs para . . . Read more
Cómo reducir Union por forma? No quiero verificar los tipos reales con isinstance o una conversión manual (hay muchos tipos). Además, no puedo modificar las definiciones de tipo. class X: title = “1” class Y: name = “2” class Z: name = “3” for (i, r) in enumerate([X(), Y(), Z()]): . . . Read more
Tengo una biblioteca común, lib_common, que define un BaseModel básico de Pydantic que uso en todos los demás paquetes: ├── lib_common ├── __init__.py ├── models.py donde models.py contiene: from pydantic import BaseModel, Extra class StrictBaseModel(BaseModel): class Config: extra = Extra.forbid Cada vez que intento importar esto en otros paquetes y . . . Read more
Supongamos que tengo una función en Python que varía su tipo de retorno según el tipo de un argumento: def f(a1: int, a2: str, a3: Union[int, str]) -> Union[float, str]: if isinstance(a3, int): return float(a1 + a3) if isinstance(a3, str): return a2 + a3 Quiero usar sobrecarga para mejorar las . . . Read more
Estoy creando una biblioteca asincrónica de Discord que está completamente tipada. Tengo un método que crea objetos a partir de solicitudes de obtención de aiohttp, como el siguiente ejemplo: async def get_bans(self): ”’ |coro| Obtiene todas las prohibiciones en el gremio. ”’ data = await self._http.get(f”guilds/{self.id}/bans”) for ban_data in data: . . . Read more