python基础之类的内置__setattr__,__delattr__,__getattr__和 二次加工标准类型(包装)
2017-04-24 18:07
417 查看
一、内置attr:__setattr__,__delattr__,__getattr__
__setattr__ #添加/修改属性会触发它的执行__delattr__ #删除属性的时候会触发
__getattr__ #只有在调用属性且属性不存在的时候才会触发
#不能用继承,来实现open函数的功能 # f=open('a.txt','w') # print(f) # f.write('1111111') #授权的方式实现定制自己的数据类型 import time class Open: def __init__(self,filepath,m='r',encode='utf-8'): self.x=open(filepath,mode=m,encoding=encode) self.filepath=filepath self.mode=m self.encoding=encode def write(self,line): print('f自己的write',line) t=time.strftime('%Y-%m-%d %X') self.x.write('%s %s' %(t,line)) def __getattr__(self, item): # print('=------>',item,type(item)) return getattr(self.x,item) # # f=Open('b.txt','w') # # print(f) # f.write('111111\n') # f.write('111111\n') # f.write('111111\n') f=Open('b.txt','r+') # print(f.write) print(f.read) res=f.read() #self.x.read() print(res) print('=-=====>',f.read()) f.seek(0) print(f.read()) # f.flush() # f.close()
授权的方式实现定制自己的数据类型
相关文章推荐
- python基础----isinstance(obj,cls)和issubclass(sub,super)、反射、__setattr__,__delattr__,__getattr__、二次加工标准类型(包装)
- Python标准数据类型的二次加工
- python 面向对象中一些常用内建函数【getattr(), setattr(). hasattr(). delattr()...】
- Python的getattr(),setattr(),delattr(),hasattr()
- Python __setattr__()、__getattr__()、__delattr__() (十)
- Python入门:内置基础类型
- [转]Python的getattr(),setattr(),delattr(),hasattr()
- python 面向对象中一些常用内建函数【getattr(), setattr(). hasattr(). delattr()...】
- Python的getattr(),setattr(),delattr(),hasattr()
- Python的getattr(),setattr(),delattr(),hasattr()
- Python的getattr(),setattr(),delattr(),hasattr()
- python 中getattr(object,name,default),setattr(object,name,default),hasattr(),delattr()
- python __setattr__, __getattr__, __delattr__, __call__
- PYTHON getattr setattr hasattr delattr内置函数
- python基础教程之基本内置数据类型介绍
- 怎么使用Python的getattr(),setattr(),delattr(),hasattr()
- Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
- Python的getattr(),setattr(),delattr(),hasattr()
- Python的getattr(),setattr(),delattr(),hasattr()
- Python的getattr(),setattr(),delattr(),hasattr()