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

yipeiwu_com7年前Python基础

本文实例讲述了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)

运行结果:

创建对象,分配内存空间
播放器初始化
<__main__.MusicPlayer object at 0x017A41D0>

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

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

相关文章

python中logging包的使用总结

1.logging 简介 Python的logging package提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比...

python私有属性和方法实例分析

本文实例分析了python的私有属性和方法。分享给大家供大家参考。具体实现方法如下: python默认的成员函数和成员变量都是公开的,并且没有类似别的语言的public,private等...

关于Pytorch MaxUnpool2d中size操作方式

关于Pytorch MaxUnpool2d中size操作方式

下图所示为最大值的去池化操作,主要包括三个参数,kernel_size: 卷积核大小(一般为3,即3x3的卷积核), stride:步,还有一个新的size。 从图中可以看出,它将维度4...

python opencv3实现人脸识别(windows)

本文实例为大家分享了python人脸识别程序,大家可进行测试 #coding:utf-8 import cv2 import sys from PIL import Ima...

详解pandas安装若干异常及解决方案总结

详解pandas安装若干异常及解决方案总结

在为Python安装第三方工具pandas出现了若干问题。 当我在cmd命令环境输入pip install pandas准备安装pandas时,出现了错误提示:Microsoft Vis...