Python根据字符串调用函数过程解析
1.使用getattr(object,name,default=None)获取属性
#-*-encoding=utf-8-*- classTest: def__init__(self): self.name='莉莉' self.age=18 if__name__=='__main__': test=Test() name=getattr(test,'name')#获取属性 print(name) age=getattr(test,'age')#获取属性 print(age) none=getattr(test,'none','none')#获取不存在的属性,需要添加default,否则抛异常 print(none)
运行
莉莉
18
none
2.使用getattr(object,name,default=None)获取方法
#-*-encoding=utf-8-*- classTest: def__init__(self): self.name='莉莉' self.age=18 defget_name(self): print('年龄是:{}'.format(self.name)) returnself.name if__name__=='__main__': test=Test() get_name=getattr(test,'get_name')#获取方法 print(get_name) get_name()#调用方法
运行
年龄是:莉莉
3.使用__dict__获取属性
#-*-encoding=utf-8-*- classTest: def__init__(self): self.name='莉莉' self.age=18 if__name__=='__main__': test=Test() name=test.__dict__['name'] print(name)
运行
莉莉
ps:如果使用getattr()遇到类属性和方法名是相同时,默认取属性
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。