我是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 Community Edition,解释器是3.6
以下问题似乎相似,但是将构造函数更改为def __init__(self) -> None
的解决方案没有任何改变。
Python: All type hints errors in subclass constructure seems ignored
答案 0 :(得分:2)
类型提示是提示。如果为变量分配其他类型,Python不会引发错误。
Pycharm,应该说它需要另一个变量类型。
答案 1 :(得分:1)
@FHTMitchell指出了它在PyCharm中的错误