Wenn ich eine Klasse ableiten von ctypes.BigEndianStructure
pylint warnt, wenn ich nicht anrufe BigEndianStructure.__init__()
. Großartig, aber wenn ich meinen Code korrigiere, warnt pylint immer noch:
import ctypes
class Foo(ctypes.BigEndianStructure):
def __init__(self):
ctypes.BigEndianStructure.__init__(self)
$ pylint mymodule.py
C: 1: Missing docstring
C: 3:Foo: Missing docstring
W: 4:Foo.__init__: __init__ method from base class 'Structure' is not called
W: 4:Foo.__init__: __init__ method from base class 'BigEndianStructure' is not called
R: 3:Foo: Too few public methods (0/2)
Zuerst dachte ich, das läge daran, dass Structure aus einem C-Modul stammt. Ich bekomme die Warnung nicht, wenn ich eine Subklasse von einer meiner Klassen oder, sagen wir, SocketServer.BaseServer
was reines Python ist. Aber ich erhalte auch nicht die Warnung, wenn ich eine Unterklasse von smbus.SMBus
die sich in einem C-Modul befindet.
Kennt jemand eine andere Lösung als die Deaktivierung von W0231?