我有一个主类,其中包含不同函数的 吨。越来越难管理了。我希望能够将这些函数分离到一个单独的文件中,但是我发现很难找到一个好的方法来做到这一点。
以下是我目前为止所做的:
import separate
class MainClass(object):
self.global_var_1 = ...
self.global_var_2 = ...
def func_1(self, x, y):
...
def func_2(self, z):
...
# tons of similar functions, and then the ones I moved out:
def long_func_1(self, a, b):
return separate.long_func_1(self, a, b)
def long_func_1(obj, a, b):
if obj.global_var_1:
...
obj.func_2(z)
...
return ...
# Lots of other similar functions that use info from MainClass
我这么做是因为:
obj_1 = MainClass()
我希望能够做到:
obj_1.long_func_1(a, b)
而不是:
separate.long_func_1(obj_1, a, b)
我知道这看起来有点吹毛求疵,但是我希望所有的代码都以 obj_1.
开始,这样就不会产生混淆。
还有比我现在做的更好的解决方案吗?我现在唯一的问题是:
我知道这个问题已经被问过好几次了,但是我不能完全理解之前的答案,而且/或者我认为这个解决方案并不能代表我所追求的。我对 Python 还是个新手,所以我很难搞清楚这个问题。