Tag: MYPY
El siguiente código: from typing import Union def process(actions: Union[list[str], list[int]]) -> None: for pos, action in enumerate(actions): act(action) def act(action: Union[str, int]) -> None: print(action) genera el error de mypy: Argumento 1 para “act” tiene un tipo incompatible “object”; se esperaba “Union[str, int]” Sin embargo, al eliminar la función . . . Read more
No creo que mypy pueda diferenciar entre un Iterable y un Hashable porque los Iterables también pueden ser Hashables. ¿Existe alguna manera de diferenciarlos? @overload def contains(o: Hashable) -> bool:… @overload def contains(o: Iterable[Hashable]) -> List[bool]:… Pero mypy dice que la segunda sobrecarga de “contains” nunca se utilizaría porque sus . . . Read more
Tengo un código que sigue este patrón: from typing import Any class Base: … class Derived1(Base): … class Derived2(Base): … class BasicApp: # ¿Cómo debo tipar “d” en esta clase base? def handle(self, d: Base) -> None: print(“handle from BasicApp”, d) class AppX(BasicApp): def handle(self, d: Derived1) -> None: print(“handle . . . Read more
En mi Enum, he definido un método de clase para convertir un valor dado en un miembro de la Enum. El valor dado puede ser una instancia de la Enum o puede ser una cadena que contenga un valor de la Enum. Para decidir si necesita conversión, verifico si el . . . Read more
Necesito aclarar el tipo de retorno por la fábrica unificada. Tengo una fábrica singleton en un archivo separado como este: from typing import Any, Type class SingletonFactory: __slots__ = (‘singleton_instance’, ) def __init__(self, singleton_class: Type[object], **singleton_init_params: Any): self.singleton_instance: object = singleton_class(**singleton_init_params) # type: ignore[call-arg] # noqa: E501 def __call__(self) -> . . . Read more