PY3.E0237

Assigning non slot

Used when assigning to an attribute not defined in the class slots.

Noncompliant Code:

Copy
class Foo:
    __slots__ = ('bar',)

    def __init__(self, bar, baz):
        self.bar = bar
        self.baz = baz
        self.setup()

    def setup(self):
        pass

Compliant Code:

Copy
class Foo:
    __slots__ = ('bar', 'baz')

    def __init__(self, bar, baz):
        self.bar = bar
        self.baz = baz
        self.setup()

    def setup(self):
        pass

The content on this page is adapted from the Pylint User Guide, Copyright ©2003-2022, Logilab, PyCQA and contributors. All rights reserved. https://pylint.pycqa.org/en/latest/index.html#, and is used under the Python Software Foundation License Version 2. Examples, recipes, and other code in the Pylint documentation are additionally licensed under the Zero Clause BSD License.