【发布时间】:2014-04-23 13:22:33
【问题描述】:
我正在查看这里给出的代码:Confused about classes in Learn Python the Hard Way ex43?
当我发现 dict 是在类 Map(object) 中定义但没有在任何方法中定义时。这就是我的意思:
class Map(object):
scenes = {
'central_corridor': CentralCorridor(),
'laser_weapon_armory': LaserWeaponArmory(),
'the_bridge': TheBridge(),
'escape_pod': EscapePod(),
'death': Death()
}
def __init__(self, start_scene):
self.start_scene = start_scene
def next_scene(self, scene_name):
return Map.scenes.get(scene_name)
def opening_scene(self):
return self.next_scene(self.start_scene)
稍后在 next_scene 方法中使用 dict。我不知道除了 docstring 之外的方法之外的类中可以定义任何东西。你能解释一下这个字典是如何使用的吗?
【问题讨论】:
-
这就像 C++ 或 Java 中的
static成员变量。无论您创建多少个类的实例,它们都将共享同一个变量(因此无需为每个实例重新创建它)。
标签: python class dictionary