本文实例讲述了Python使用__new__()方法为对象分配内存及返回对象的引用。分享给大家供大家参考,具体如下:

demo.py(__new__方法):

class MusicPlayer(object):

# 为对象分配内存空间

def __new__(cls, *args, **kwargs):

# 1. 创建对象时,new方法会被自动调用

print("创建对象,分配内存空间")

# 2. 为对象分配空间

instance = super().__new__(cls)

# 3. 返回对象的引用

return instance

# 对象初始化,定义实例属性

def __init__(self):

print("播放器初始化")

# 创建播放器对象

player = MusicPlayer()

print(player)

运行结果:

创建对象,分配内存空间

播放器初始化

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python面向对象程序设计入门与进阶教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python编码操作技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

本文标题: Python使用__new__()方法为对象分配内存及返回对象的引用示例

本文地址: http://www.cppcns.com/jiaoben/python/275274.html

python怎么new对象_Python使用__new__()方法为对象分配内存及返回对象的引用示例相关推荐

  1. python 多继承 __new___Python3中的__new__方法以及继承不可变类型类的问题

    最近在学到Python中的__new__方法时被弄懵逼了,一开始实在是很难理解,有很多地方想不通(本人强迫症).最近自己慢慢思索得出了能说服自己的理解: 说__new__方法之前要先提到__init_ ...

  2. python建立一个字符串_python字符串基本方法

    字符串类型在Python中是十分重要的类型,他一般用引号中间添加字符的形式表达,不同于其他语言的是,Python中双引号(" ")与单引号(' ')是不予区分的.都可以用来表示字符 ...

  3. python安装random库_python 库安装方法及常用库

    python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/--/ 2.运行cmd,切换到*:/**/--/目录下 3.运行setup.py build 4.然 ...

  4. python列表反向排序_Python 列表排序方法reverse、sort、sorted详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

  5. python中sorted用法_Python中sorted()方法的用法

    1.先说一下iterable,中文意思是迭代器. Python的帮助文档中对iterable的解释是:iteralbe指的是能够一次返回它的一个成员的对象.iterable主要包括3类: 第一类是所有 ...

  6. python中mktime函数_Python time mktime()方法

    描述 Python time mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,返回用秒数来表示时间的浮点数. 如果输入的值不 ...

  7. python re库安装_python 库安装方法及常用库

    python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/--/ 2.运行cmd,切换到*:/**/--/目录下 3.运行setup.py build 4.然 ...

  8. python定义一个数组_Python数组定义方法

    本文实例讲述了Python数组定义方法.分享给大家供大家参考,具体如下: Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2] 这时:a[0]=0, a[1]=1, a[[2]= ...

  9. python中clock函数_Python time clock()方法

    Python time clock()方法 描述 Python 3.8 已移除 clock() 方法 可以使用 time.perf_counter() 或 time.process_time() 方法 ...

最新文章

  1. docker-compose的安装与简单使用
  2. Vue、angular等框架实现双向绑定的原理,核心机制是使用了Object.defineProperty
  3. 转:并口编程参考资料
  4. 拥抱云原生,Fluid 结合 JindoFS:阿里云 OSS 加速利器
  5. 精准评论,为何广受娱乐类产品的欢迎?
  6. flink的dataset/stream/sql三套API的选择以及是否应该阅读源码
  7. Social Media Modify case - still about attribute_ref
  8. Oracle+BEA后的ESB
  9. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
  10. 自定义条件查询_数据查询不止有vlookup函数,自定义zlookup函数查询操作更高效...
  11. 上传大文件:在 System.Web.HttpRequest.GetEntireRawContent()
  12. 编译是检查c语言,为什么CMake检查C编译器?
  13. arcgis中dem坐标定义_GIS基础-DEM Grid规则格网结构
  14. 第二章 Javac编译原理
  15. cvpr2020 人脸检测与识别_CVPR2020 论文分类下载 「人脸识别+目标检测」
  16. 2018-2019-1 20189208《Linux内核原理与分析》第九周作业
  17. 拓端tecdat:Python集成学习:自己编写构建AdaBoost分类模型可视化决策边界及sklearn包调用比较
  18. C++入门经典-例8.8-虚继承
  19. linux 取消u盘写保护,如何关闭u盘写保护?u盘写保护怎么去掉?
  20. ue4材质节点大全_UE4材质节点大全

热门文章

  1. CSS设置像文字一样的按钮
  2. java、前端、php、asp.net开发资源分享(视频教程,源码,项目)
  3. Lucene教程--维护索引、查询对象和相关度排序
  4. Android从网络上获取图片的两种方式
  5. Java IO流之随机读写流RandomAccessFile
  6. (JavaWeb)Filter过滤器
  7. pdf更新啦,快来瞧瞧!
  8. 杭电2669拓展欧几里得
  9. 翻译: Oralce官方文档-- Data Blocks, Extents, and Segments
  10. require.js的用法