zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    C 工具库7:local_pool
    进程间传递文件描述符
    ucontext实现的用户级多线程框架
    ucontext实现的用户级多线程框架2(抢先式多线程)
    网络接收缓存的设计
    利用用户级线程提高多线程应用的性能
    死锁检测
    网络服务器发送封包设计
    C 工具库8:map
    ucontext实现的用户级多线程框架3(实现echo服务器)
  • 原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/10061957.html
Copyright © 2011-2022 走看看