代码示例:
from typing import List
class MyList(List[int]):
def total(self) -> int:
return sum(i for i in self)
a = MyList([1,2,3])
print(f'{a.total()=:}')当我运行它时,它会工作。
a.total()=6但是,当我使用pylint时,我会得到以下错误
...
toy.py:5:30: E1133: Non-iterable value self is used in an iterating context (not-an-iterable)
...还有其他的错误,但也可以理解。对于not-an-iterable问题,我不太明白,我是否正确地对List[int]进行了子类划分?
我使用Python-3.8,pylint==2.6.0
发布于 2022-03-03 14:47:39
我把pylint升级到了最近的版本。
pylint --version
pylint 2.9.6
astroid 2.6.6
Python 3.8.2 (default, Mar 15 2021, 10:18:42) 错误就消失了。
由于系统的限制,我不能升级到最新的版本。
https://stackoverflow.com/questions/71332870
复制相似问题