pylint-errors

W0233 (non-parent-init-called)

:x: Problematic code:

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

:heavy_check_mark: Correct code:

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

Rationale:

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