python里的魔法方法1(构造与析构)

魔法方法——构造与析构

1、python编程的魔法方法:

(1)魔法方法总是被双下划线包围,例如__init__;

(2)魔法方法是面向对象的python的一切。

2、__new__(class[,…])魔法方法

主要用来重新修改和对于实际类()里面所带参数的修改,__new__ 方法主要任务是返回一个实例对象,通常是参数 cls 这个类的实例化对象,当然你也可以返回其他对象。

3、__del__(self)

当做垃圾回收装置,不是在发生del操作时它会调用,只有当所有的对象的引用被del之后才会调用del方法


举例如下:

4、实例训练:

定义一个类继承于 int 类型,并实现一个特殊功能:当传入的参数是字符串的时候,返回该字符串中所有字符的 ASCII 码的和(使用 ord() 获得一个字符的 ASCII 码值)。

class Nint(int):

        def __new__(cls,int2):

                int2=int2

                if isinstance(int2,int) or isinstance(int2,float):

                        int2=int(int2)

                else:

                        b=0

                        for i in range(len(int2)):

                                i2=int2[i]

                                b=ord(i2)+b

                        return b


                return int.__new__(cls,int2)

原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/10061957.html