Python中的反射

 

fun = getattr(str,'__len__') 
print fun('abc') #相当于执行 'abc'.__len__

 

class abc(object):
    def get(self,name):
        print name + " hello"

    def n(self,arg):
        ags = arg.split('.')
        #print ags #返回['get', 'iiii']
        fun = getattr(self,ags[0]) #ags[0]==get,该class中包含有get方法
        fun(ags[1]) #相当于执行 get('iiii')


p=abc()
print p.n('get.iiii') #通过反射,可以直接将get识别为class abc中的方法,iiii为get方法中的参数

 

posted on 2016-05-16 15:40  momingliu11  阅读(343)  评论(0编辑  收藏  举报