Python 类型提示:条件 from __future__ 导入注释

问题描述 投票:0回答:1

自 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
python type-hinting
1个回答
0
投票

from __future__ import annotations
在早期的Python版本中只是必要的,但在更高的Python版本中它不会做任何事情,不会造成任何伤害。所以,就把它留在里面,而不是有条件的。

© www.soinside.com 2019 - 2024. All rights reserved.