gpt4 book ai didi

python - 我可以在模块中使用程序中创建的对象吗?

转载 作者:行者123 更新时间:2023-12-01 09:09:19 25 4
gpt4 key购买 nike

我有一个对象 Clock = pygame.time.Clock() 。我想在模块中使用它,以便每当我导入模块时,该模块都会使用程序中创建的对象。我该怎么做?

最佳答案

不,你不能,至少不能这样。

您可以做的是创建另一个模块,该模块全局定义时钟,并将其导入到您的程序和模块中。我前段时间尝试过,但这非常尴尬并且会导致各种错误。

我尝试在这里用不同的方式来做 Importing variable names into class namespaceReuse module with different scripts (code organization) ,但这是徒劳的。

正常的方法是将模块函数传递给它们的参数,其中包含设置模块所需的变量。有时将模块组织到类中是有意义的,因为当您创建类对象时,您可以将配置/全局变量设置到其中。

像这样:模块1.py

class funcs_that_use_clock:
def __init__(self,clockconfig):
self.clock=clockconfig

def foo(self):
print self.clock

然后 yourprogram.py 会执行以下操作:

from module1 import funcs_that_use_clock as F

Clock = pygame.time.Clock()
myfuncs=F(Clock)
myfuncs.foo()

根据情况,您还可以拥有类/模块范围的变量,而无需创建实际对象。

关于python - 我可以在模块中使用程序中创建的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51798366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com