class Foo: def __init__(self,name,age): self.name=name self.age=age def __getitem__(self,item): print(‘getitem‘) print(item) return self.__dict__.get(item) def __setitem__(self, key, value): print(‘setitem‘) print(key,value) self.__dict__[key]=value def __delitem__(self, key): print(‘delitem‘) print(key) # self.__dict__.pop(key) del self.__dict__[key] obj=Foo(‘egon‘,18)
#查看属性: obj[‘name‘] # 相当于obj.name obj[‘age‘] #设置属性 obj[‘sex‘]=‘male‘ #相当于 obj.sex=‘male‘ print(obj.__dict__) print(obj.sex) # 为增加的 ‘male #删除属性 del obj.name del obj[‘age‘] print(obj.__dict__) # str 用法 d=dict({‘name‘:‘egon‘}) print(isinstance(d,dict)) print(d)
class People: def __init__(self,name,age): self.name=name self.age=age def __str__(self): #核心 print(‘---->str‘) return ‘name:%s,age:%s‘%(self.name,self.age) #核心 obj=People(‘egon‘,18) print(obj) #__del__ f=open(‘settings.py‘) # 操作系统打开了 f.read() f.close() #回收操作系统的资源 print(f)
class Open: def __init__(self,filename): print(‘open file‘) self.filename=filename def __del__(self): print(‘回收操作系统资源:self.close()‘) f=Open(‘settings.py‘) # del f # f.__del__() print(‘----main----‘) # del f # f.__del__()
原文地址:https://www.cnblogs.com/hexiaorui123/p/10201527.html
时间: 2024-10-03 17:33:31