反射型学習のPython

!は/ usr / binに/のenvのpython - * -コーディング:UTF8 - * -

DEF バルク(自己):
     印刷" %sは交通である.... "%のself.name)

クラス・ドッグ(オブジェクト):
     デフ __init__ (自己、名):
        self.name = 名前


    デフ食べる(自己、食品):
         印刷" %sが食べている.... "%のself.name、食品)

D =犬(" dfxa " 
選択 =入力(" >>:" ).strip()

IFはhasattr(D、選択):  は、選択文字列の対応する方法があるか否かをD(オブジェクト)を決定
#はdelattr(D、選択)#は、オブジェクト所与から指定された属性を削除します。 #のdelattr(X、 'Y')あるx.y.「」に相当`デル 相当d.choiceデル
FUNC = GETATTR(D、チョイス)メモリアドレスによる方法に対応するオブジェクトの文字列で取得Dに FUNC(チェンATTR = GETATTR(D、チョイス) SETATTR(D、選択肢、 "DRR") 指定された値をオブジェクトのプロパティ指定された名前 SETATTR(D、選択、22である) Z = d.choiceに対応する選択列、 印刷(GETATTR(D、チョイス)) プリント(d.name)
DEF バルク(自己):
     印刷" %sは交通である.... "%のself.name)

クラス・ドッグ(オブジェクト):
     デフ __init__ (自己、名):
        self.name = 名前

    デフ食べる(自己、食品):
         印刷" %sが食べている.... "%のself.name、食品)

D =犬(" dfxa " 
選択 =入力(" >>:" ).strip()

IFはhasattr(D、選択):  、D(オブジェクト)を決定する選択文字列の対応する方法があるか否か 
     FUNC = GETATTR(D、選択)対応するメソッドのオブジェクトメモリーアドレスDに文字列を取得する 
     FUNC(" チェン" #は、直接(d.choice)を印刷することはできません、選択肢は以下の方法に従って書かれるべき文字列である
    のattr = GETATTR(D、選択肢)
    #の印刷(ATTR)



     SETATTR(D、選択肢、バルク)
     プログラムを実行し、通話d.talkに入力相当=バルク、通話に割り当てられたメモリアドレスのバルク
     この時間関数では、トーク、トーク()==コールバルク()である
     d.talk(D)ように、ここでのみ#トーク()を呼び出すことができます
     #の中で渡した文字列によって、クラスにクラスの外を組み立てるの動的な方法を、それ自体(オブジェクト)を呼び出す必要が
     別の方法なので、死んで書くために機能を入れて 
     func2を= GETATTR(D、選択肢)
     関数func2(d)は、   これは話をすることができ、入力またはバルクにかかわらず、です
>>:トーク

dfxaは交通です....
 

 

おすすめ

転載: www.cnblogs.com/wengshaohang/p/12335636.html