2017-07-18 88 views

回答

2

這是一個變量註釋,如PEP 526中所述。通過運行該表達式,您已將a的類型註釋爲None,這是print調用的返回值,這沒有多大意義。

您可以通過打印__annotations__,保存爲一個模塊名稱,類型之間的關係的字典看到這(在你的情況下,模塊可能會是__main__):

print(__annotations__) 
{'aaa': None} 

Python不會用這些做任何事情,它只是執行print(1)(導致輸出爲1)表達式,並使用該調用的返回值來註釋名稱a。這取決於類型檢查程序,如mypy,將它們用於自己的目的。

+0

它是一個python 3.6的東西?我沒有在3.5.2 –

+0

@RickyHan中看到它。你應該在3.5.2中得到一個SyntaxError(並且'__annotations__'模塊也不存在) –