I have this function below;
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
The function parameters are all datetime type. I want to add typing hint to the function. This is what I did;
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
I get the error NameError: name 'datetime' is not defined
. What is the proper way to add typing for this function?
I am using python v3.7
You need to import datetime
, or use a string (remember, it is just an hint).
>>> 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
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments