Python LPTHW练习43-通过从字典返回构造函数创建对象
学习Python的艰难之路使用了一个值为构造函数的字典。字典是在类中定义的。 我不明白当这个类返回一个字典值时会发生什么。是否每次都返回给定类的新对象Python LPTHW练习43-通过从字典返回构造函数创建对象,python,dictionary,constructor,Python,Dictionary,Constructor,学习Python的艰难之路使用了一个值为构造函数的字典。字典是在类中定义的。 我不明白当这个类返回一个字典值时会发生什么。是否每次都返回给定类的新对象 class Map(object): scenes = { 'central_corridor': CentralCorridor(), 'laser_weapon_armory': LaserWeaponArmory(), 'the_bridge': TheBridge(),
class Map(object):
scenes = {
'central_corridor': CentralCorridor(),
'laser_weapon_armory': LaserWeaponArmory(),
'the_bridge': TheBridge(),
'escape_pod': EscapePod(),
'death': Death(),
'finished': Finished(),
}
...
下面是从字典场景返回值的方法
每次返回dict值时是否都会创建一个新对象?
当Python第一次看到类定义时,是否预先创建了字典中的对象
这个练习是一个游戏,玩家可以在不同的场景之间进行。因此,玩家可能会多次进入一个场景。如果代码每次创建一个新对象,那么对象的数量将与用户进入场景的次数相同。当创建类
映射时,将创建字典,并且在dict创建时,将实例化所有充当字典值的类对象
是否每次都返回给定类的新对象
class Map(object):
scenes = {
'central_corridor': CentralCorridor(),
'laser_weapon_armory': LaserWeaponArmory(),
'the_bridge': TheBridge(),
'escape_pod': EscapePod(),
'death': Death(),
'finished': Finished(),
}
...
仅在类上创建一个dict对象。当通过类访问dict时,不会创建新的dict,如Map.scenes
中所示
每次返回dict值时是否会创建新对象
回来了
否。创建dict时始终返回初始类实例