我想为类实现一个方法 - 该方法将使用类中其他方法的结果,但它将是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中可用的方法。
我的方式是否合适,或者有更好的方法吗?
答案 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
参数。