面向对象-内置方法
Posted hexiaorui123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象-内置方法相关的知识,希望对你有一定的参考价值。
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__()
以上是关于面向对象-内置方法的主要内容,如果未能解决你的问题,请参考以下文章
python学习8_1 面向对象(继承多态封装)以及零散概念(组合,property,绑定方法与非绑定方法,反射,内置函数)