一、反射
- 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或行为的一种能力(自省),这一概念的提出很快引发了计算机科学领域应用反射性的研究,首先被程序语言的设计领域所采用,并在Lisp面向对象方面取得了成绩
- Python中的反射有四个方法:hasattr、getattr、setattr、delattr
- hasattr(object,name) 判断是否有属性 object.name
- getattr(object,name,default=None) 想当于获取属性 object.name 如果没有可以返回一个设定好的默认值,既没获取也没有默认值会报错
- setattr(object,name,vaule) 相当于设置属性 object.name = vaule
- delattr(object,name) 相当于删除属性 del object.name
class School: