在python中的另一个文件的类中包含函数

在python中的另一个文件的类中包含函数,python,django,Python,Django,我正在为Django编写一个SOAP web服务,它将具有许多功能。 为了保持干净,我想把它分成几个文件 如何将函数代码“包含”到类中(如PHP中) 例如: class SOAPService(ServiceBase): #first file from myfunctions1 import * #second file from myfunctionsA import * 应表现为: class SOAPService(ServiceBase): #first file

我正在为Django编写一个SOAP web服务,它将具有许多功能。 为了保持干净,我想把它分成几个文件

如何将函数代码“包含”到类中(如PHP中)

例如:

class SOAPService(ServiceBase):
  #first file
  from myfunctions1 import *
  #second file
  from myfunctionsA import *
应表现为:

class SOAPService(ServiceBase):
  #first file
  def myfunction1(ctx):
    return

  def myfunction2(ctx, arg1):
    return

  #second file
  def myfunctionA(ctx):
    return

  def myfunctionB(ctx, arg1):
    return

   ...

Python允许您从多个类继承,因此请继续将您的方法放在一个单独的基类中并从中继承


另外,python允许您使用import语句从其他文件中拉入。尽管有几种方法可以做到这一点,但我推荐的第一种方法是从这两个文件中创建mixin类

所以在你的主要模块中

import myfunctions1
import myfunctionsA
class SOAPService(ServiceBase,myfunctions1.mixin,myfunctionsA.mixin):
    pass
在您包含的模块myfunctions1、myfunctionA等中

class mixin:
    def myfunction1(self):
        return
    def myfunction2(self, arg1):
        return

问题是,根据这条评论,我不应该将ServiceBase与其他类混合在一起,在这种情况下,我认为这是可以的。我在ServiceBase中没有看到任何会导致此mixin样式中断的内容。请参阅我对Andrew关于混合类的回答的评论。