Если я получаю класс из ctypes.BigEndianStructure
, Pylint предупреждает, если я не позвоню BigEndianStructure.__init__()
. Отлично, но если я исправлю свой код, Pylint все равно предупредит:
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)
Сначала я подумал, что это потому, что Structure происходит из модуля C. Я не получаю предупреждение, если подкласс от одного из моих классов или, скажем, SocketServer.BaseServer
, который является чистым Python. Но я также не получаю предупреждение, если я подкласс от smbus.SMBus
, который находится в модуле C.
Кто-нибудь знает обходной путь, кроме отключения W0231?