1.__new__的作用是什么?

依照Python官方文档的说法,__new__方法主要是当你继承一些不可变的class时(比如int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径。还有就是实现自定义的metaclass。

1)在内存中为对象分配空间

2)返回对象的引用。(即对象的内存地址)

2. __new__什么时候被执行

python中定义的类在创建实例对象的时候,会自动执行__init__()方法,但是在执行__init__()方法之前,会执行__new__()方法,

python解释器在获得引用的时候会将其传递给__init__()方法中的self。

3.看个例子

这篇博客的例子对比性很好

__new__方法主要是当你继承一些不可变的class时(比如int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径

参考

https://www.cnblogs.com/traditional/p/8395439.html

https://www.cnblogs.com/34fj/p/6358702.html

最新文章

  1. [Linux] 安装JDK和Maven及hadoop相关环境
  2. 测试简单for循环的效率
  3. ES6严格模式use strict下的保留字
  4. mustache.js渲染带事件的模板
  5. 使用jQuery Mobile实现新闻浏览器(3)
  6. 转:Android 获取Root权限
  7. Es6 之for of
  8. each函数循环数据表示列举,列举循环的时候添加dom的方法
  9. 通知 Notification 详解
  10. String源码学习
  11. 文章转载至CSDN社区罗升阳的安卓之旅,原文地址:
  12. Linux系统编程(2)——文件与IO之系统调用与文件IO操作
  13. discuz使用总结
  14. eNSP仿真学习,网络入门!
  15. As a Start - 毫厘之间,宇宙之外
  16. 排序算法java实现
  17. QTP - 描述性编程
  18. Pycharm配置
  19. Java知多少(32)instanceof
  20. RMI 、RPC和SOAP

热门文章

  1. 微信小程序 之wxml保留小数点后两位数的方法及转化为字符串的方法
  2. Tornado框架 源码基本分析
  3. LeetCode:135. 分发糖果
  4. mybatis遍历map
  5. Java面试题及答案解析
  6. Luogu P1294 高手去散步
  7. unity协程要点
  8. k8s的api
  9. 修改httpd端口
  10. Codeforces Round #532 (Div. 2) E. Andrew and Taxi(二分+拓扑排序)