我已经习惯了Java模型,你可以在每个文件中拥有一个公共类.Python没有这个限制,我想知道组织类的最佳实践是什么.
我来自一个背景,我通常每个类创建一个文件.我也在目录下组织公共类.这种做法对我来说很直观,并且已被证明在C++,PHP,JavaSript等中有效.
我无法将这个比喻带入Python:文件不仅仅是文件,而是正式的模块.在一个模块中只有一个类似乎是不对的 - 大多数类本身都是无用的.如果我有一个automobile.py和一个Automobile类,总是引用它似乎很愚蠢automobile.Automobile.
但是,与此同时,将大量代码放入一个文件并将其称为一天似乎并不正确.显然,一个非常复杂的应用程序应该有超过5个文件.
什么是正确的 - 或pythonic ---方式?(或者,如果没有正确的方法,您首选的方式是什么?为什么?)我应该在Python模块中投入多少代码?
我有
class A(object):
def __init__ (self): raise NotImplementedError("A")
class B(A):
def __init__ (self):
....
Run Code Online (Sandbox Code Playgroud)
和pylint说
__init__ method from base class 'A' is not called
Run Code Online (Sandbox Code Playgroud)
显然,我不想这样做
super(B, self).__init__()
Run Code Online (Sandbox Code Playgroud)
(我试过abc并得到了
Undefined variable 'abstractmethod'
Run Code Online (Sandbox Code Playgroud)
从pylint,所以这也不是一个选项).