總的來說,我對編程很陌生。我想知道為什么這個符號在一些代碼中使用。我的意思是,這種聲明變量的方式的目的是什么?有用嗎?例如,假設我定義say_hello1 = "hello everybody"我還可以使用以下方法定義相同的變量:say_hello2 : str = "hello everybody"或者 ..say_hello3 : float = "hello everybody" # I know this is not a float variable, I'm doing it on purpose每個變量(say_hello1、say_hello2 和 say_hello3)都是相同的類型(字符串)。那么這種變量聲明方式的目的是什么呢?難道只是說變量將是特定類型嗎?或者它會改變其他什么(即代碼的效率)嗎?提前致謝。
4 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
它顯示了您期望的變量,這使您的代碼更易于閱讀和理解。它還可以幫助使用 linter 和其他第三方工具。據我所知,Python 本身不會看它。

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
在這種情況下,類型非常明顯,因此它不是很有幫助,但假設您有一個BaseClass其他一些類繼承的SubClassA基類SubClassB,然后:
a: SubClassA = SubClassA() # not very useful
a: BaseClass = SubClassA() # indicates that you expect a given interface, no necessarily SubClassA
### another dev can safely replace code later on
a: BaseClassA = SubClassB()

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
PEP-484中引入了類型提示。目標是允許其他工具根據變量的可接受類型進行靜態檢查。例如,它包含在 PyCharm 中,并由mypy使用。
但無論如何,Python 是一種動態語言,解釋器只是忽略那些聲明的類型提示。
添加回答
舉報
0/150
提交
取消