同じ名前の文字列で関数を呼び出す


pythonを使用している子供靴の皆さんは、同じ名前の文字列で関数を呼び出す必要があると信じています.他の言語がどのように実現されているのか、よくわかりません.しかしpythonは強力な組み込み関数getattr()を提供し、このような機能を実現することができる.
getattr()の関数プロトタイプはgetattr(object,str_name)であり、オブジェクトobjectにstr_という名前を返すnameのプロパティメソッド、このstr_nameは文字列で、strという名前を返します.nameの関数オブジェクト.
具体的には、以下の2つの方法で実現することができる.
(一)testを新規作成する.pyファイル、その中でいくつかの方法test 1()、test 2()などを定義し、プログラムファイルmainを別途構築する.py、これでmain.py中
import test

fun1=getattr(test,'test1')
fun1()

fun2=getattr(test,'test2')
fun2()

 
(二)プログラムファイルmain.pyでは、クラスtestを作成し、getattrはクラスのオブジェクトを転送することで、オブジェクトを得る方法
 
class test():
    def test1():
        print 'test1'
    def test2():
        print 'test2'

t=test()
fun1=getattr(t,'test1')
fun1()

fun2=getattr(t,'test2')
fun2()


このように実現する.