如何让一个模块内的函数可用于类?

时间:2013-03-28 10:07:36

标签: python class pep8

所以我有以下情况:

我有一个具有多个功能定义的模块。我想创建一个具有这些功能的类。

我只想问哪条路最好? 选项1

import ModuleWithFunctions

class bla(object):

    ModuleWithFunctions = ModuleWithFunctions

1选项

class bla(object):

    import ModuleWithFunctions

我知道选项2是针对PEP 8的,所以我假设人们会说选项1,但是,如果我希望所有内容都可用,那该怎么办?

bla.(function) 

而不是:

bla.ModuleWithFunctions.(function)

如何使用option1执行此操作?

1 个答案:

答案 0 :(得分:5)

你通常不会这样做。

通常会在baseclass_module中创建一个基类:

# baseclass_module.py

class BaseClass(object):
    def method1(self):
        # ...

    def method2(self):
        # ...

然后在其他模块中使用它:

from baseclass_module import BaseClass

class Bla(BaseClass):
    # ...