我有一个 JSON 文件,我在一个小游戏中将其用作数据存储,我将其用作学习 Python 的一种方式。
我精通许多其他语言。
我有几个类想要对 JSON 进行读取访问,所以我想将文件中的 JSON 加载到一个变量中,然后允许其他类通过 getter 和 setter 访问该变量,因为每个类都需要 JSON 的不同部分。
这听起来像是单身人士的工作。我知道 Python 模块的行为就像一个单例。
但是,当我将模块导入我的类时,变量会重置吗?
这是一个非常精简的例子:
模块:- state_manager
x=45
def set_x(value):
x=value
def get_x():
return x
类:- 游戏
import Player
import state_manager
value = state_manager.get_x()
班级:- 球员
import state_manager
state_manager.set_x(12)
通过设置断点,我可以看到当 Player 被 Game 导入时将inPlayer的值设置为 12。xstate_manager
但是当我查看x返回到 Game的值时,state_manager.get_x()我得到了 45。
为什么是这样?
在 Python 中创建可以在其他类之间共享的模块或对象的正确方法是什么?
我意识到我可以自己构造一个 Singleton,但我想我会使用 Python 的特性。
慕斯709654
墨色风雨
相关分类