首页 > 文章列表 > python中__new__的重写

python中__new__的重写

python中__new__
167 2022-08-07

说明

1、重写__new__方法一定要return super().__new__(cls)。

2、Python的解释器得不到分配了空间的对象引用,就不会调用对象的初始化方法。

注意:__new__ 是一个静态方法,在调用时需要 主动传递 cls 参数

实例

class MusicPlayer(object):
 
    def __new__(cls, *args, **kwargs):
        # 如果不返回任何结果,
        return super().__new__(cls)
 
    def __init__(self):
        print("初始化音乐播放对象")
 
player = MusicPlayer()
 
print(player)

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。