动态的对类的方法、属性进行操作
'''
反射
getattr 获得该对象的方法
hasattr 判断对象有没有该方法
setattr
delattr
'''
class People(object):
def __init__(self,name):
self.name = name
def eat(self):
print(self.name + ' eating')
d = People('xiaoming')
s='eat'
if hasattr(d,s):
getattr(d,s)()
def play(self):
print('play...')
setattr(d,'myplay',play)#添加方法
d.myplay(d)
本文通过一个简单的Python类实例,介绍了如何使用Python的反射机制来动态地操作类的方法和属性。主要内容包括:使用getattr获取对象的方法、hasattr判断对象是否具有指定方法、setattr为对象动态添加方法以及delattr删除对象的方法。

被折叠的 条评论
为什么被折叠?



