总的来说,我对编程很陌生。我想知道为什么这个符号在一些代码中使用。我的意思是,这种声明变量的方式的目的是什么?有用吗?例如,假设我定义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
提交
取消