类型提示返回NameError:名称'datetime'未定义

时间:2019-09-30 13:01:55

标签: python python-3.x typing python-typing

我在下面具有此功能;

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

函数参数均为日期时间类型。我想向函数添加键入提示。这就是我所做的;

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 个答案:

答案 0 :(得分:3)

您需要导入datetime

>>> def f(x: datetime):
...     pass
...
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'datetime' is not defined
>>> from datetime import datetime
>>> def f(x: datetime):
...     pass
...
>>>

Python 3.7.4

答案 1 :(得分:3)

import datetime并使用datetime.datetime作为提示,或者from datetime import datetime并使用datetime作为提示。