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

2024-03-28 10:33:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 模块对象程序timepygameclock
1条回答
网友
1楼 · 发布于 2024-03-28 10:33:55

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

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

我试着用不同的方法来做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()

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

相关问题 更多 >