码迷,mamicode.com
首页 > 编程语言 > 详细

python特殊成员函数

时间:2018-02-04 22:50:29      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:__init__   mod   data   自动   pop   __del__   log   ini   obj   

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 "<obj:%s>"%self.name
print(d1)

<obj:lele>

8.__getitem__,__setitem__,__delitem__:用于索引操作,如字典(Django中不想用户删除某些键,将其设为对象,然后进行索引操作)

 1 class C(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]=value
11        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)

 

python特殊成员函数

标签:__init__   mod   data   自动   pop   __del__   log   ini   obj   

原文地址:https://www.cnblogs.com/ceceliahappycoding/p/8414159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!