1.__init__():构造函数
2.__del__():析构函数
3.print(__doc__):打印描述信息
4.print(Dog.__module__):类来自的模块
5.print(d1.__class__) :对象属于哪个类
6.__call__(self, *args, **kwargs):对象(),()带位置参数或关键字参数
def __call__(self, *args, **kwargs):print(self.name,args,kwargs)
d1=Dog('lele')
d1(1,2,3,4,month=13,sex='mu')
7.__str__:以规定的格式打印 对象
print(d1)
<__main__.Dog object at 0x0000024D9871EF28>
定义__str__后:
def __str__(self): #以规定的格式打印 对象
return ""%self.nameprint(d1)
8.__getitem__,__setitem__,__delitem__:用于索引操作,如字典(Django中不想用户删除某些键,将其设为对象,然后进行索引操作)
1 classC(object):2 def __init__(self):3 self.data={}4
5 def __getitem__(self, key):6 self.data.get(key)7 print('__getitem__',key)8
9 def __setitem__(self, key, value):10 self.data[key]=value11 print('__setitem__', key, value)12
13 def __delitem__(self, key):14 self.data.pop(key)15 print('__delitem__', key)16
17 obj =C()18
19 obj['k2'] = 'alex' #自动触发执行 __setitem__
20 print(obj.data)21 result = obj['k2'] #自动触发执行 __getitem__
22 print(obj.data)23 del obj['k2'] #自动触发执行 __getitem__
24 print(obj.data)