1
當我在Python 3.6中輸入aaa: print(1)
時,它將打印1
而不會出現任何錯誤。變量:表達式在Python中意味着什麼?
我想知道什麼變量:表達式在Python中意味着什麼。
我谷歌搜索,找不到任何相關的文件。
當我在Python 3.6中輸入aaa: print(1)
時,它將打印1
而不會出現任何錯誤。變量:表達式在Python中意味着什麼?
我想知道什麼變量:表達式在Python中意味着什麼。
我谷歌搜索,找不到任何相關的文件。
這是一個變量註釋,如PEP 526中所述。通過運行該表達式,您已將a
的類型註釋爲None
,這是print
調用的返回值,這沒有多大意義。
您可以通過打印__annotations__
,保存爲一個模塊名稱,類型之間的關係的字典看到這(在你的情況下,模塊可能會是__main__
):
print(__annotations__)
{'aaa': None}
Python不會用這些做任何事情,它只是執行print(1)
(導致輸出爲1
)表達式,並使用該調用的返回值來註釋名稱a
。這取決於類型檢查程序,如mypy
,將它們用於自己的目的。
它是一個python 3.6的東西?我沒有在3.5.2 –
@RickyHan中看到它。你應該在3.5.2中得到一個SyntaxError(並且'__annotations__'模塊也不存在) –