问题描述
首先,我知道类型提示在Python中是可选的-所以我的问题是,从有意义地帮助Python补全/棉绒/等意义上讲,是否需要使用它?工具解析代码。请考虑以下最小示例:
a: int = 1
a = 3
#---
b: Foo = Foo()
bar = Foo()
b = bar
在两种情况下,变量a
和b
的类型都在声明时进行提示,但当值更改(更改为相同类型的不同值)时,我不再指定它。我想知道诸如Microsoft Language Server for Python之类的工具是否足以让该工具确定a
是int
和b
是Foo
对象?替代方法是每次变量值更改时都键入提示,我觉得这太费力了:
a: int = 3
b: Foo = bar
解决方法
在名称范围内只需一次就可以了。 (当然是出于PyCharm的推论,但其他开发工具可能会有所不同。)
(顺便说一句,如果该名称所指向的数据类型发生变化(例如,从int
变为str
,那将是代码的味道...)