我是 python 新手,正在尝试类型提示,但它们似乎只在某些情况下起作用。它们似乎在属性返回类型上按预期工作,但是当我尝试将整数分配给字符串值(即 self._my_string = 4)时,我没有报告任何问题。
class TypeHintTest(object):
_my_string: str
def __init__(self):
self._my_string = 4 # no error
@property
def as_int(self) -> int:
return self._my_string # Error : expected int got str
结果对象包含一个 int 值(如预期)。
我使用的是pyCharm 2018.3.2社区版,解释器是3.6
下面的问题似乎类似,但是将构造函数更改为
def __init__(self) -> None
的解决方案并没有改变任何东西。
Python:子类构造中的所有类型提示错误似乎都被忽略了
类型提示,顾名思义,就是提示。如果您为变量分配不同的类型,Python 不会引发错误。
然而,Pycharm 应该说它需要另一种变量类型。
@FHTMitchell 指出这是 PyCharm 中的一个错误
请参阅 错误跟踪器条目