Python-类的特殊对象属性
2017-06-15 10:26
387 查看
Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。接下来,记录一下类的比较特殊的对象属性:
__doc__
类的描述信息class Person(object): ''' 一个Person类,用来玩的 ''' pass p = Person() print(p.__doc__) # 打印结果:一个Person类,用来玩的
__module__
获取当前操作的对象所在的模块from library.student import Record r = Record() print(r.__module__) # 打印结果:library.student
__class__
获取当前操作的对象的类from library.student import Record r = Record() print(r.__class__) # 打印结果:library.student.Record
__init__
构造方法,创建对象时自动调用__del__
析构方法,当对象被内存回收时,自动触发执行__call__
对象加括号后执行class Person(object): def __call__(self): print("__call__执行了") p = Person() p() # 结果:__call__执行了
__dict__
获取类或对象的所有方法和属性class Person(object): name = "person" def __init__(self): self.__food = "苹果" def eat(self): pass print(Person.__dict__) # 打印结果:{'__module__': '__main__', 'name': 'person', '__init__':.... p = Person() print(p.__dict__) # 打印结果:{'_Person__food': '苹果'}
__str__
获取对象的地址,重写str可改变获取对象的信息class Person(object): def __str__(self): return "Person类" p = Person() print(p) # 打印结果:Person类。若无重写,默认打印的是Person类的内存地址
__getitem__、__setitem__、__delitem__
获取数据,设置数据,删除数据class Person(object): def __getitem__(self,key): print("__getitem__",key) def __setitem__(self,key,value): print("__setitem__",key,value) def __delitem__(self,key): print("__delitem__",key) p = Person() p["name"] = "python" # 设置数据,将自动调用__setitem__方法 p["name"] # 获取数据,将自动调用__getitem__方法 del p["name"] # 删除数据,将自动调用__delitem__方法
相关文章推荐
- python对象与属性相关的特殊方法
- python特殊属性和方法的运用
- python下查看对象的属性内容
- python list存放对象,按对象某个属性排序
- java对象转JSON时排除掉该对象中的特殊属性
- python面对对象编程------4:类基本的特殊方法__str__,__repr__,__hash__,__new__,__bool__,6大比较方法
- python面对对象编程-------5:获取属性的四种办法:@property, __setattr__(__getattr__) ,descriptor
- javascript对象属性命名“”增添的特殊情况
- Python中如何判断对象是否包含某个属性?
- 在JavaScript中,arguments是对象的一个特殊属性。
- 2、python面向对象之对象的属性
- python学习笔记——BeautifulSoup对象属性操作
- 打印python对象的所有属性
- Python深入03 对象的属性
- python(类和对象之类属性和类变量)
- python面向对象开发(类的属性-精讲
- 【python中的类和对象,属性和方法】
- Python深入对象的属性
- python之类属性和实例对象属性
- Python打印对象的全部属性