0

この質問は、Zed Shaw のLearn Python the Hard Wayの演習 43 に基づいています。この演習では、Zed はクラスからクラスへとジャンプしています。私を混乱させている2つのことがあります:

  1. 'death' を返すと、クラス 'Death' が返されるという事実。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_nameは文字列であり、次の行は、この文字列に対して で定義されているクラスを取得しMapます。

于 2013-02-10T15:09:32.850 に答える