zoukankan      html  css  js  c++  java
  • __init__和__new__的区别

    根据官方文档:
     
    • __init__是当实例对象创建完成后被调用的,然后设置对象属性的一些初始值。
    • __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例,是个静态方法。
     也可理解为:1,首先用__new__创建并返回一个实例对象,此处__new__为静态方法
    2,返回的实例对象调用__init__方法进行初始化,初始化不返回任何东西,此处__init__是实例方法
    即,__new__在__init__之前被调用,__new__的返回值(实例)将传递给__init__方法的第一个参数,然后__init__给这个实例设置一些参数。
    __init__ 方法为初始化方法, __new__方法才是真正的构造函数。
    __new__方法默认返回实例对象供__init__方法、实例方法使用。
    __init__ 方法为初始化方法,为类的实例提供一些属性或完成一些动作。
    __new__ 方法创建实例对象供__init__ 方法使用,__init__方法定制实例对象。
    __new__是一个静态方法,而__init__是一个实例方法
    

     



  • 相关阅读:
    CompareUtil
    linux awk学习笔记
    linux用grep查找包含两个关键字的命令
    mysql 使用set names 解决乱码问题
    对私有静态方法进行单测
    使用JUnit测试预期异常
    Tortoise svn 冲突解决主要办法
    tortoise svn冲突解决
    word-break与word-wrap
    移动端适配
  • 原文地址:https://www.cnblogs.com/ConnorShip/p/10235703.html
Copyright © 2011-2022 走看看