首页 > 其他 > 详细

【Pyton】【小甲鱼】魔法方法

时间:2017-03-19 17:02:24      阅读:220      评论:0      收藏:0      [点我收藏+]

1.__init__

 1 >>> class Rectangle:
 2     def __init__(self,x,y):
 3         self.x=x
 4         self.y=y
 5     def getPeri(self):
 6         return(self.x+self.y)*2
 7     def getArea(self):
 8         return self.x*self.y
 9 
10     
11 >>> rect=Rectangle(3,4)
12 >>> rect.getPeri()
13 14
14 >>> rect.getArea()
15 12
16 >>> class A:
17     def __init__(self):
18         return "A fo A-Cup"
19 
20     
21 >>> a=A() #由于定义了A有返回值了,所以会报错。init无返回值
22 Traceback (most recent call last):
23   File "<pyshell#37>", line 1, in <module>
24     a=A()
25 TypeError: __init__() should return None, not str

2.__new__(cls[,])

1 >>> class CapStr(str):
2     def __new__(cls,string): #传入str化身为string
3         string=string.upper() #string转换为为大写字符串
4         return str.__new__(cls,string)#返回的时候必须重写new方法,否则则会自动调用capstr函数
5 >>> a=CapStr("I love fishC.com!")
6 >>> a
7 I LOVE FISHC.COM!

3.__del__(self):当对象将要被销毁的时候,此方法就会被调用

 1 >>> class C:
 2     def __init__(self):
 3         print("我是__init__方法,我被调用了...")
 4     def __del__(self):
 5         print("我是__del__方法,我被调用了...")
 6     
 7 >>> c1=C()
 8 我是__init__方法,我被调用了...
 9 >>> c2=c1
10 >>> c3=c2
11 >>> del c3
12 >>> del c2
13 >>> del c1 #只有删除了所有引用方法C的对象后,才启动垃圾回收机制,垃圾回收机制在销毁对象的时候,会自动调用del方法,对其中的内容进行垃圾回收,才会打印出来回收的内容。
14 我是__del__方法,我被调用了...

 

【Pyton】【小甲鱼】魔法方法

原文:http://www.cnblogs.com/zhuzhubaoya/p/6580678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!