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

eva*_*n54 0 python class pep8

所以我有以下情况:

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

我只是想问哪条路最好?选项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做到这一点?

Mar*_*ers 5

你通常不会这样做.

通常会创建一个基类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)

  • @ evan54:然后我希望该模块中的函数*不作为方法工作.他们不会有一个`self`参数. (3认同)