Python-类的特殊对象属性

来源:互联网 发布:淘宝店怎么开 编辑:程序博客网 时间:2024/06/05 10:38

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。接下来,记录一下类的比较特殊的对象属性:

__doc__

类的描述信息

class Person(object):    '''    一个Person类,用来玩的    '''    passp = Person()print(p.__doc__)    # 打印结果:一个Person类,用来玩的

__module__

获取当前操作的对象所在的模块

from library.student import Recordr = Record()print(r.__module__)     # 打印结果:library.student

__class__

获取当前操作的对象的类

from library.student import Recordr = 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):        passprint(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__方法
原创粉丝点击