我下面有这个函数;
def time_in_range(start, end, x):
"""Return true if x is in the range [start, end]"""
if start <= end:
return start <= x <= end
else:
return start <= x or x <= end
函数参数都是datetime类型的,我想给函数增加键入提示,这就是我所做的;
def time_in_range(start: datetime, end: datetime, x: datetime) -> bool:
"""Return true if x is in the range [start, end]"""
if start <= end:
return start <= x <= end
else:
return start <= x or x <= end
我得到了错误NameError: name 'datetime' is not defined
。为这个函数添加类型的正确方法是什么?
我使用的是python v3.7
2条答案
按热度按时间vuktfyat1#
您需要导入
datetime
,或者使用一个字符串(记住,这只是一个提示)。Python 3.7.4语言
更新。对于此问题的稍微不同的版本,请导入
__future__.annotations
否则在引用Dto类的函数中会失败。Python4将此作为默认行为。现在,import必须是文件的第一条语句。
在Python 3.8.10中测试。
参见:https://peps.python.org/pep-0563/
klsxnrf12#
import datetime
并使用datetime.datetime
作为提示,或者from datetime import datetime
并使用datetime
作为提示。