python 学习 - 单例:让类创建无论多少个对象,最后永远只产生一个实例

# coding:utf-8

# 单例:让类创建无论多少个对象,最后永远只产生一个实例

# 创建对象时,__new__方法分配空间,并且返回对象引用。__init__方法初始化

class MusicPlayer(object):

    instance = None

    def __new__(cls, *args, **kwargs):
        """重写new方法,一定要返回内存地址"""
        if cls.instance is None:
            cls.instance = object.__new__(cls)
            # python3
            # cls.instance = super().__new__(cls)
            
        return cls.instance


player1 = MusicPlayer()
print player1

player2 = MusicPlayer()
print player2


猜你喜欢

转载自blog.csdn.net/weixin_38892128/article/details/86595692