自 Python 3.10 起,可以将
Union
运算符替换为 |
。
old_style_type_hint: Union[int, float] = 5
new_style_type_hint: int|float = 5
我喜欢新语法,但是,我需要确保我的代码也适用于 Python 3.9。为了确保所有功能,我可以像这样导入
annotations
:
from __future__ import annotations
但是,只有当我的 Python 版本是 <3.10.
时才需要这样做现在,我正在寻找某种条件导入,即仅在使用 Python 时才导入 <3.10.
编辑:
如果我尝试条件导入,则会收到错误。
import sys
if sys.version_info < (3, 10):
from __future__ import annotations
SyntaxError: from __future__ imports must occur at the beginning of the file
from __future__ import annotations
在早期的Python版本中只是必要的,但在更高的Python版本中它不会做任何事情,不会造成任何伤害。所以,就把它留在里面,而不是有条件的。