快速一:从主脚本扩展类?

时间:2012-10-27 06:11:50

标签: python

快速提问......

我有一个模块enemies.py,包含类似的类:

class zombie(game_object):
  "zombie"
  pass

在我的主要python脚本中,我首先声明game_object类,然后导入敌人

class game_object:
  pass
import enemies

enemies.py脚本抱怨它无法找到game_object(继承)。我该如何组织这个?

只需注意,我希望能够编写一个game.py,import game_mechanics,其中包含game_object的类定义,THEN import enemies包含一系列game_object的子类定义。< / p>

1 个答案:

答案 0 :(得分:3)

每个文件都需要导入所需的模块。没有“超全局范围”,您可以在其中导入模块以自动使其可用于所有其他模块。导入game_mechanics不会使其在您导入的模块之外的任何模块中可用。如果enemies需要访问game_mechanics中定义的内容,则必须执行import game_mechanics (或从game_mechanics)导入您需要的内容enemies。例如:

# game_mechanics.py
class game_object(object):
   pass

# enemies.py
from game_mechanics import game_object
class special_object(game_object):
   pass

多次导入模块不会浪费额外的内存。该模块仅加载一次,当您多次导入时,您只需多次引用同一模块。