博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 的__init__ 和__new__ 区别
阅读量:5805 次
发布时间:2019-06-18

本文共 558 字,大约阅读时间需要 1 分钟。

在此介绍一下  __init__ 和  __new__ 先后调用的区别 

代码如下:

# __init__ 和 __new__的区别# 通常在编代码时,__init__ 较为常见,但是__new__却很少使用。 # python中,类在实例化时,首先是调用__new__方法,创建出一个实例,然后再去调用__init__ 方法对该实例进行初始化操作。#!/usr/bin/env python# -*- coding: utf-8 -*-class A(object):    def __init__(self, *args, **kwargs):        print 'call init'        return super(A, self).__init__(*args, **kwargs)    def __new__(cls, *args, **kwargs):        print 'call new'        return super(A, cls).__new__(cls, *args, **kwargs)a = A()

运行结果:

call new

call init

 

转载于:https://www.cnblogs.com/wanghuixi/p/10702397.html

你可能感兴趣的文章
核心资讯基础架构优化(Core Infrastructure Optimization)了解
查看>>
高效软文营销写作技巧:产生共鸣方是王道
查看>>
信息系统开发平台OpenExpressApp - 功能权限
查看>>
NPOI+SharpZipLib实现压缩多个Excel下载
查看>>
使用Spring Data Redis操作Redis(二)
查看>>
【Java学习笔记】文本文件的复制(流的读写)
查看>>
一个简单的C#多线程间同步的例子
查看>>
《JavaScript高级程序设计》阅读笔记(十二):内置对象Math
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
安装python时碰到的尴尬的事情(使用pyenv离线安装python)
查看>>
希尔排序法
查看>>
翻译qmake文档(一) qmake指南和概述
查看>>
Linux时间子系统之一:clock source(时钟源)【转】
查看>>
性能调优:理解Set Statistics IO输出
查看>>
免费软电话 — X-Lite 的安装及配置向导
查看>>
LINQ To SQL在N层应用程序中的CUD操作、批量删除、批量更新
查看>>
【转】php mysql事务详解
查看>>
键盘、游戏、ASCII码引出的一系列问题
查看>>
免费参加Tech.Ed Australia 2010
查看>>
shell浅谈之三for、while、until循环【转】
查看>>