python12——包装标准类
#包装
class List_feng(list):
def show_midle(self):
mid_index = int(len(self)/2)
return self[mid_index]l1 = List_feng('helloworld')
print(l1)
print(l1.show_midle())
#授权
class Open:
def __init__(self,filename,mode='r',encoding='utf-8'):
self.file = open(filename,mode,encoding=encoding)
# self.mode = mode
# self.encoding = encoding
#此时无法进行写入
def write(self):
pass
def __getattr__(self, item):
print(item,type(item))
return getattr(self.file,item)
f1 = Open('a.txt','w')
print(f1.file)
print(f1.read)
class Feng:
pass
f1 = Feng()
#是否被实例
print(isinstance(f1,Feng))class Sub_feng(Feng):
def __getattr__(self, item):
print('执行了1111111')
#都会触发
def __getattribute__(self, item):
print('执行了22222')
raise AttributeError('抛出异常了')print(issubclass(Sub_feng,Feng))
item系列
class Feng:
def __getitem__(self, item):
print('getitem')
return self.__dict__[item]
def __setitem__(self, key, value):
print('setitem')
self.__dict__[key]=value
def __delitem__(self, key):
print('delitem')
self.__dict__.pop(key)
f1 = Feng()
#f1.name = 'fengfeng'
f1['name']='fengfeng'
print(f1.__dict__)
print(f1['name'])
del f1['name']
print(f1.__dict__)
【python12——包装标准类】Str 和 Repr
l = list('hello')
print(l)class Feng:
def __str__(self):
return '自定义显示方式'
def __repr__(self):
return 'repr__________'
f1 = Feng()
print(f1)
推荐阅读
- 急于表达——往往欲速则不达
- 慢慢的美丽
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 2019-02-13——今天谈梦想()
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- Ⅴ爱阅读,亲子互动——打卡第178天
- 低头思故乡——只是因为睡不着
- 取名——兰
- 每日一话(49)——一位清华教授在朋友圈给大学生的9条建议
- 广角叙述|广角叙述 展众生群像——试析鲁迅《示众》的展示艺术