0

这个问题基于 Zed Shaw 的Learn Python the Hard Way练习 43。在这个练习中,Zed 从一个班级跳到另一个班级,我的问题是这是如何工作的?有两件事让我感到困惑:

  1. 事实上,返回“死亡”,返回类“死亡”。return 之前的 'death' 中的 'd' 是小写的,但实际的类名以大写的“D”开头。为什么这仍然有效?

  2. 事实上,return 'death' 是用引号引起来的。为什么这行得通,但是:

    def function():
        Variable = "This is a variable."
        return 'variable'
    
    print function()
    

只返回字符串“变量”。

一些例子是:

        print "putting him down, then jump through the Weapon Armory door."
        return 'laser_weapon_armory'

这种选择导致了一个风格化的“LaserWeaponArmory”类。

     print "bridge where you must place it in the right spot."
     return 'the_bridge'

这将返回一个类型为“TheBridge”的类。

完整练习链接:

http://learnpythonthehardway.org/book/ex43.html

谢谢。

4

1 回答 1

0

Python 没有进行任何此类转换。返回的字符串使用Map类手动映射到对象,该类在“您应该看到的内容”部分之前进行了描述。

这是实际使用的代码Engine

next_scene_name = current_scene.enter()
current_scene = self.scene_map.next_scene(next_scene_name)

next_scene_nameMap是一个字符串,下一行检索在for this string中定义的类。

于 2013-02-10T15:09:32.850 回答