¿Cómo puedo probar la igualdad de objetos de forma limpia en Mypy sin producir errores?
Tengo la siguiente función:
import pandas as pd
def eq(left: pd.Timestamp, right: pd.Timestamp) -> bool:
return left == right
Recibo el siguiente error al ejecutarlo a través de Mypy:
error: Returning Any from function declared to return "bool"
Creo que esto se debe a que Mypy no conoce pd.Timestamp
, por lo que lo trata como Any
. (Usar la función reveal_type
de Mypy muestra que Mypy trata left
y right
como Any
.)
¿Cuál es la forma correcta de manejar esto para evitar que Mypy se queje?
davy.ai
La forma correcta de abordar este problema es importar
Timestamp
del módulopandas
y utilizarlo en la declaración de la función en lugar depd.Timestamp
. La función actualizada se vería así:Esto permitirá que Mypy reconozca correctamente el tipo de
left
yright
comoTimestamp
y evitará el error “Returning Any from function declared to return “bool””.