在其他地方为类定义方法

时间:2014-01-28 16:15:17

标签: python module

我想为类实现一个方法 - 该方法将使用类中其他方法的结果,但它将是100行的长度,所以我想在可能的情况下在另一个文件中定义该方法。我怎样才能做到这一点?像这样:

ParentModule.py

import function_defined_in_another_file

def method(self):
    return function_defined_in_another_file.function()

ParentModule是我不想在其中定义函数的主要模块。

function_defined_in_another_file.py

import ParentModule

def function():
    a = ParentModule.some_method()
    b = ParentModule.some_other_method()
        return a + b 

在另一个文件中定义的函数必须能够使用ParentModule中可用的方法。

我的方式是否合适,或者有更好的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以将方法分配给班级:

import function_defined_in_another_file

class SomeClass():
    method = function_defined_in_another_file.function

它将被视为与任何其他方法一样;您可以在method的实例上调用SomeClass(),其他SomeClass()方法可以使用self.method()调用它,method()可以调用任何SomeClass()方法self.method_name()

您必须确保function()接受self参数。