Pyton小甲鱼魔法方法

Posted 猪猪宝丫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pyton小甲鱼魔法方法相关的知识,希望对你有一定的参考价值。

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小甲鱼魔法方法的主要内容,如果未能解决你的问题,请参考以下文章

Pyton小甲鱼爬虫4-XXOO

[小甲鱼]入门学习python笔记 魔法方法

[Python]小甲鱼Python视频第038课(类和对象:继承 )课后题及参考解答

第六章 函数[DDT书本学习 小甲鱼]

第五章 列表元组和字符串[DDT书本学习 小甲鱼]

[Python]小甲鱼Python视频第014课(字符串:各种奇葩的内置方法)课后题及参考解答