您的位置:首页 > 编程语言 > Python开发

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 对象