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__是一个实例方法
    

     



  • 相关阅读:
    微软小娜APP的案例分析
    嵌入式第12次实验
    嵌入式第11次实验
    嵌入式第10次实验报告
    嵌入式第9次实验
    软工 小组作业(第二次)
    嵌入式软件设计第8次实验报告-140201236-沈樟伟
    5月17下
    5月17上
    5月15上午
  • 原文地址:https://www.cnblogs.com/ConnorShip/p/10235703.html
Copyright © 2011-2022 走看看