所以我有以下情况:
我有一个具有多个函数定义的模块.我想创建一个具有这些功能的类.
我只是想问哪条路最好?选项1
import ModuleWithFunctions
class bla(object):
ModuleWithFunctions = ModuleWithFunctions
Run Code Online (Sandbox Code Playgroud)
选项2
class bla(object):
import ModuleWithFunctions
Run Code Online (Sandbox Code Playgroud)
我知道选项2是针对PEP 8的,所以我假设人们会说选项1,但是,如果我希望所有内容都可用,那该怎么办?
bla.(function)
Run Code Online (Sandbox Code Playgroud)
代替:
bla.ModuleWithFunctions.(function)
Run Code Online (Sandbox Code Playgroud)
我怎么能用option1做到这一点?
你通常不会这样做.
您通常会创建一个基类baseclass_module
:
# baseclass_module.py
class BaseClass(object):
def method1(self):
# ...
def method2(self):
# ...
Run Code Online (Sandbox Code Playgroud)
然后在其他模块中使用它:
from baseclass_module import BaseClass
class Bla(BaseClass):
# ...
Run Code Online (Sandbox Code Playgroud)