假设我有这个函数:
def subtract_dates(date1: datetime.date, date2: datetime.date):
return date1 - date2
如果我试图调用subtract_dates(datetime.date.today(), datetime.datetime.now())
,这将引发类型错误,因为我试图从date
对象中减去datetime
对象
但是,由于datetime继承自date(例如,请参见this issue),MyPy不会在上述对subtract_dates
的调用中引发错误
有没有一种方法可以添加一个MyPy类型的提示,允许一个日期对象,但不允许一个日期时间对象
我会用function overloading来解决它。例如:
现在,仍然允许减去日期,同时使用
datetime
对象将被捕获:会给你一个错误
相关问题 更多 >
编程相关推荐