__new__方法和__init__方法
来源:互联网 发布:js中播放器代码 编辑:程序博客网 时间:2024/05/16 18:18
python中,真正创建并且返回类实例的方法是__new__方法,该方法是一个类方法。如果__new__方法返回了当前类的一个实例,则自动执行当前类的__init__方法,对实例进行一些后续的初始化工作;如果返回的不是当前类的实例,则不执行__init__方法。
返回当前类实例
class A(object): passclass B(A): def __init__(self): print 'init' def __new__(cls): print 'create %s' % cls return super(B, cls).__new__(cls)b = B()
执行结果
create <class '__main__.B'>initProcess finished with exit code 0
返回父类实例
class A(object): passclass B(A): def __init__(self): print 'init' def __new__(cls): print 'create %s' % cls return super(B, cls).__new__(A)b = B()
执行结果
create <class '__main__.B'>Process finished with exit code 0
0 0
- __new__方法和__init__方法
- Python---类的"__new__"和"__init__"方法
- python中__init__()方法和__new__()方法的区别
- Python __new__() 方法与__init__()方法
- Python class的__new__与__init__方法
- __new__ 和 __init__
- python __new__ 和 __init__
- python __new__和__init__
- __new__ ,__init__和__del__
- Python中的__init__方法与__new__方法的区别
- Python中的__new__、__init__、__call__三个特殊方法
- 详解Python中的__new__、__init__、__call__三个特殊方法
- Python中__new__() 和 __init__()
- python 中的 __new__ 和 __init__
- [深入Python]__new__和__init__
- [深入Python]__new__和__init__
- python中__new__和__init__
- __new__和__init__的区别
- 【FAQ】MySQL解决PacketTooBigException问题
- 对逻辑斯蒂回归的一些细节剖析
- linux下常用的37条Shell命令
- POJ 2241 The Tower of Babylon(dp)
- SqlServer之基本增删改查(2)
- __new__方法和__init__方法
- Struts2 标签定义变量及for循环
- AngularJs创建自己的Grid–分页组件
- 不使用加减乘除,求一个数的7倍
- Fragment同时适配手机和平板两种屏幕
- Android检测是否安装了某个应用,同时进行App间的跳转
- 计算机网络基础知识整理(二)
- Flash镜头移动效果制作
- 安装Eclipse插件长时间卡在 calculating requirements and dependencies