我正在将游戏作为一个python学习项目,我试图摆脱单个文件。解析函数的最佳方法是什么,以便它们仍然可以访问重要对象?例如,我有一个对象基本上控制窗口并在用户调整窗口大小时计算ui元素的大小。我希望能够使用此对象的实例,而不必通过参数将其传递给每个函数。一个例子:
function.py
import test
def add_foo():
newfoo.add()
test.py
import function
class foo:
def __init__(self):
self.x = 1
def add(self):
self.x += 10
newfoo = foo()
if __name__ == '__main__':
newfoo.add()
print newfoo.x
function.add_foo()
print newfoo.x
我只是想错了吗?这里显而易见的解决方案是向function.add_foo()添加一个参数,让我传入允许我使用它的newfoo实例。但是我发现这是一个非常麻烦的方法来处理一个对象,如果我调用它本质上需要普遍可访问每个模块和函数,因为它会在用户调整窗口大小时随时更改。
我也应该以完全不同的方式构建我的程序。