繁体   English   中英

类型提示返回 NameError: name 'datetime' not defined

[英]type hint returns NameError: name 'datetime' not defined

我下面有这个function;

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

function参数都是datetime类型。 我想向 function 添加输入提示。 这就是我所做的;

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 为这个 function 添加类型的正确方法是什么?

我正在使用 python v3.7

您需要导入datetime或使用字符串(请记住,这只是一个提示)。

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

Python 3.7.4

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM