variable:expression在Python中是什么意思?

What does variable:expression mean in Python?

当我在 Python 3.6 中键入 aaa: print(1) 时,它会打印 1 而不会出现任何错误。

我想知道 variable:expression 在 Python 中是什么意思。

我用 Google 搜索但找不到任何与此相关的文档。

是变量注解,如PEP 526所述。通过 运行 那个表达式,你已经将 a 的类型注释为 Noneprint 调用的 return 值,这并没有多大用处感觉。

你可以通过打印 __annotations__ 来看到这一点,这是一个保存模块名称类型之间关系的字典(在你的情况下,模块可能是 __main__):

print(__annotations__)
{'aaa': None}

Python 不对这些做任何事情,它只是执行了 print(1) (结果是 1 的输出,你看)表达式并使用 return注释名称 a 的调用的值。这取决于类型检查器,例如 mypy,将它们用于自己的目的。