使用python内置函数getattr可实现。
很多地方都讲到这个方法论, 我着重强调一点:
返回类的方法后,不可以再实例化,然后调用该方法
getattr函数输入一个类对象和一个字符串,返回与字符串同名的类对象的属性。
该函数原型为: getattr(object, name[, default])
object :类的对象
name : 类属性名对应的字符串
default :可选项,当name对应的属性不存在时:如果输入了default参数,返回default;否则产生AttributeError异常。
若name对应的属性存在,该函数返回该属性。
示例:
class example:
def __init__(self):
self.member = 0
def func(self):
pass
对于该类执行如下语句:
e = example()
member = getattr(e, 'member', None)
func = getattr(e, 'func', None)
# 不可以 e.func()
print('member is :' + str(member))
func()
通过调用getattr函数,使得:member = e.member,func = e.func
运行出的结果为:
member is :0
this is a func