Python-类的特殊对象属性

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__方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值