我有一个结构类似的简单游戏项目:
src:
game.py # <- main module
projectile.py
enemy.py
heroine.py
在主模块game.py
中有几个对象被初始化,我想在其他模块中使用它们,比如Pygame的精灵群,或者对女主角的精灵的引用来瞄准敌人的炮弹。我真的不想把那些引用传递给构造函数。在
所以问题是-创建一个common.py
模块来存储项目范围的全局变量是否可以?一开始我试图从其他模块导入game.py
,但它似乎创建了循环依赖关系,游戏无法开始。在
Tags:
您应按以下方式组织代码:
把你的全局数据放入
__init__.py
,这是存放这类东西的常用地方。在您的
^{pr2}$__init__.py
文件可能包含以下内容:从其他模块中可以得到:
注意,有两个选项如何导入-绝对导入(使用
game
包的名称)和相对一个。在保持简单,使用绝对导入,正如pep8建议的那样。在
我没有遇到任何关于Python的非法或不良实践的说明。我在创建自己的游戏时也使用了类似的方法。在
我有一个格式建议,就是把变量名全部大写
或者
^{pr2}$因为这将使这些变量很容易在代码中标识为常量。在
相关问题 更多 >
编程相关推荐