我知道这已被问过几次,但我不能完全理解以前的答案和/或我认为解决方案并不能代表我正在拍摄的内容.我仍然是Python的新手,所以我很难搞清楚这一点.
我有一个主类,它有一个不同功能的TON.它变得越来越难以管理.我希望能够将这些功能分成单独的文件,但我发现很难找到一个好方法.
这是我到目前为止所做的:
main.py
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)
Run Code Online (Sandbox Code Playgroud)
separate.py
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
Run Code Online (Sandbox Code Playgroud)
我这样做是因为如果我这样做:
obj_1 = MainClass()
我希望能够做到:
obj_1.long_func_1(a, b)
代替:
separate.long_func_1(obj_1, a, b)
我知道这似乎有点挑剔,但我想要开始的所有代码,obj_1.
所以没有混乱. …