PY3.W0233

Non-parent init called

Used when an init method is called on a class which is not in the direct ancestors for the analysed class.

Noncompliant Code:

Copy
class Foo:
    def __init__(self):
        self.foo = True
class Bar(Foo):
    def __init__(self):
        super().__init__()
        self.bar = True
class Baz(Bar):
    def __init__(self):
        Foo.__init__(self)
        self.baz = True

Compliant Code:

Copy
class Foo:
    def __init__(self):
        self.foo = True
class Bar:
    def __init__(self):
        super().__init__()
        self.bar = True
class Baz(Foo, Bar):
    def __init__(self):
        super().__init__()
        self.baz = True

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.