为什么pylint会在分配时检查不在__slots__中的成员但在访问时不检查?

时间:2016-04-21 12:56:53

标签: python pylint

当分配不在广告位中的属性时,pylint会引发错误E0237':分配给类槽中未定义的属性'

然而,当访问不在广告位

中的属性时,它不会

见下面的例子。

这是一个缺失的功能"或者有理由不检查吗?

class Dummyclass(object):

    __slots__ = ['myvariable']

    def __init__(self):
        self.myvariable = 1

def main():
    dummy = Dummyclass()

    dummy.doesnotexist = 4 #This raises an error
    temp = dummy.doesnotexist #This does not

1 个答案:

答案 0 :(得分:0)

经过一些研究,我通过添加命令编辑了文件python_dir \ Lib \ site-packages \ pylint \ checkers \ classes.py: 访问属性中的self._check_in_slots(节点)。 它现在可以正确检查访问权限和分配。

相关问题