python3 魔法方法:属性访问
2018-02-18 22:22
309 查看
类中的获取属性、设置属性的方法:
重载属性访问函数
''' 类中的获取属性、设置属性的方法: 重载属性访问函数 ''' class C: #定义当该类的属性被访问时的行为(不管是不是存在该属性,若不存在,则调用__getattr__(self,name)) #例如:对于类的实例对象object,执行print(object.x)获取object的x属性,就会调用该函数 def __getattribute__(self, item): print('getattribute') super().__getattribute__(item) #定义当用户试图获取一个不存在的属性时的行为 #例如:对于类的实例对象object,执行print(object.x)获取object的x属性不存在时,就会调用该函数 def __getattr__(self,name): print('getattr') #定义当一个属性被设置时的行为 #例如:对于类的实例对象object,执行object.x = 1设置object的x属性的值,就会调用该函数 def __setattr__(self,name,value): print('setattr') super().__setattr__(name,value) #定义当一个属性被删除时的行为 #例如:对于类的实例对象object,执行del object.x删除object的x属性的值,就会调用该函数 def __delattr__(self,name): print('delattr') super().__delattr__(name) if __name__ == '__main__': c = C() c.x = 1 del c.x
相关文章推荐
- python魔法方法-属性访问控制详解
- 鱼c笔记——Python魔法方法三:属性访问
- python魔法方法-属性访问控制详解
- python魔法方法-属性访问控制
- Python类属性访问的魔法方法
- 《Python基础教程》读书笔记(4)之第9章魔法方法、属性和迭代器(关键词:Python/魔法方法/属性/迭代器)
- Python访问类的私有属性和私有方法的正确姿势
- Python基础教程---魔法方法,属性和迭代器(1)
- python 直接访问类的私有属性或方法
- Python学习之魔法方法、属性和迭代器
- 浅谈python类属性的访问、设置和删除方法
- python学习笔记之七:魔法方法,属性
- python零碎知识(6)--魔法方法、属性和迭代器
- <<Python基础教程>>学习笔记 | 第09章 | 魔法方法、属性和迭代器
- python直接访问私有属性的简单方法
- 浅谈python类属性的访问、设置和删除方法
- 魔法方法:属性访问
- Python基础教程 第9章: 魔法方法、属性和迭代器 学习笔记
- python类:class创建、数据方法属性及访问控制详解
- 045魔法方法:属性访问