Python中__new__方法的使用
来源:互联网 发布:东莞学编程 编辑:程序博客网 时间:2024/06/02 00:58
先看一段代码:
classdoubleFloat(float):
def __new__(cls,arg = .6):
return float.__new__(cls,arg * 2)
a = doubleFloat()
print(a)
b =doubleFloat(1.9)
print(b)
程序执行结果:
grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_python/03_OOP/2017/08$python new_demo.py
1.2
3.8
通过上面的例子,结合学习的东西做一下总结:
在Python中__new__方法与__init__方法类似,但是如果两个都存在那么__new__闲执行。
在基础类object中,__new__被定义成了一个静态方法,并且需要传递一个参数cls。Cls表示需要实例化的类,此参数在实例化时由Python解析器自动提供。
接下来总结一下__new__与__init__的异同点:
1,两个功能相似,但是如果都存在__new__先执行;
2,__new__方法必须要返回一个实例化的对象;
3,__init__方法没有返回值;
4,__new__有一个参数cls,__init__有一个参数self即为__new__返回的实例对象。
阅读全文
0 0
- Python中__new__方法的使用
- Python中__new__()方法的使用和实例化
- Python中的__new__()方法的使用实例
- Python的__new__方法
- python中__init__()方法和__new__()方法的区别
- python中__new__ 的作用
- Python---类的"__new__"和"__init__"方法
- Python class的__new__与__init__方法
- python中的__new__()方法
- python中的__new__方法
- python __new__方法
- 关于python中__new__的用法
- python中__new__和__init__的区别
- [Python] 新式类中 __new__的理解
- python中类的学习:类属性,实例属性 __new__方法:单例模式
- python __new__和__del__方法 spyder中运行结果不一致
- Python中的__init__方法与__new__方法的区别
- 关于python中的__new__方法
- 使用__del__方法在Python文件处理时保证文件关闭
- Struts2进阶
- android retrofit 示例(一)
- Angular2 使用ngcontent 投影来自父组件的html(Projection)
- Linux文件与目录管理的常用命令
- Python中__new__方法的使用
- Angular2 Access Child Components From the Template
- Android NKD初探
- Java使用正则提取字符串
- 基于java的百度地图逆向解析(根据坐标返回地址)
- script中未正确定义'<'
- 335. Self Crossing
- [LintCode]105.复制带随机指针的链表
- 关于蓝牙历史以及蓝牙基本介绍