подсказка типа возвращает NameError: имя 'datetime' не определено - PullRequest
1 голос
/ 30 сентября 2019

У меня есть эта функция ниже;

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 ]

3 голосов
/ 30 сентября 2019

Либо import datetime и используйте datetime.datetime в качестве подсказки, либо from datetime import datetime и используйте datetime в качестве подсказки.

3 голосов
/ 30 сентября 2019

Вам необходимо импортировать 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...