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

yipeiwu_com6年前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命令行参数sys.argv使用示例

复制代码 代码如下:#diff.py#!/bin/env python import sys if len(sys.argv) <> 3:   ...

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

本文实例讲述了Python3.5基础之NumPy模块的使用。分享给大家供大家参考,具体如下: 1、简介 2、多维数组——ndarray...

Pytorch 实现自定义参数层的例子

注意,一般官方接口都带有可导功能,如果你实现的层不具有可导功能,就需要自己实现梯度的反向传递。 官方Linear层: class Linear(Module): def __in...

Python中使用多进程来实现并行处理的方法小结

进程和线程是计算机软件领域里很重要的概念,进程和线程有区别,也有着密切的联系,先来辨析一下这两个概念: 1.定义 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系...

Python实现的基于优先等级分配糖果问题算法示例

Python实现的基于优先等级分配糖果问题算法示例

本文实例讲述了Python实现的基于优先等级分配糖果问题算法。分享给大家供大家参考,具体如下: 问题: 有n个人,每个人有一定的优先等级,等级高的人要比身边等级低得人得到的多,每个人都不...