导入
在我的示例中,
应该发生这种情况吗? x = World!
当我删除
from __future__ import annotations
有什么好处?如果我理解正确的话,我应该停止在运行时不必要地输入导入。在我的示例中,
HelloWorld
仅用于类型。但是使用此代码时,输出始终为:应该发生这种情况吗? x = World!
当我删除
from hello import HelloWorld 时,PyCharm 中的类型帮助将不再起作用(我可以理解这一点,因为它不知道 HelloWorld 是从哪里来的)。
from __future__ import annotations
from hello import HelloWorld
if __name__ == '__main__':
def hello(x: str, hello: HelloWorld = None):
if hello is not None:
print('hello.data_01 =', hello.data_01)
print('x =', x)
hello('World!')
hello.py
from dataclasses import dataclass
@dataclass
class HelloWorld:
data_01: str
data_02: str
print("Should this happen?")
所以我的问题是,如果我仍然需要执行 from hello import HelloWorld
,那么从 from __future__ import annotations
中我可以得到什么好处?