反射的四个机制 hasattr getattr setattr delattr 具体实现代码如下
1 class People:
2 def __init__(self,name,age,id):
3 self.name=name
4 self.age=age
5 self.id=id
6
7 def play(self):
8 print('%s现在开始玩游戏了,告诉我你的ID%s'%(self.name,self.id))
9
10 def sleep(self):
11 print('%s ,不早了,赶快休息哦!'%self.name)
12
13 p1=People('小婉',18,429006)
14 p1.play()
15 p1.sleep()
16 print(hasattr(p1,'name')) #检查对象里是否含有name这个属性 有则为TRUE
17 print(getattr(p1,'age233','找不到这样的元素')) #检查对象里是否含有name这个属性 有则为获取,无则返回默认设置的字符串
18 sp1=setattr(p1,'sex','woman') #向对象里添加指定属性(键值对形式)
19 print(p1.__dict__)
20 delattr(p1,'sex') #删除指定对象属性 以key为主
21
22 print(p1.__dict__)