量化交易之python基础篇 - 单例写法(只初始化一次)

# 只初始化一次单例对象
class MusicPlayer(object):
    instance = None
    __first_load = True

    def __new__(cls, *args, **kwargs):  # 创建对象时, new方法会被自动调用
        #  判断单例对象是否为空
        if cls.instance is None:
            cls.instance = super().__new__(cls)
        return cls.instance

    def __init__(self):
        if MusicPlayer.__first_load is True:
            print("初始化音乐播放器")
            MusicPlayer.__first_load = False


player_one = MusicPlayer()
player_two = MusicPlayer()
print(player_one)
print(player_two)

猜你喜欢

转载自blog.csdn.net/Michael_234198652/article/details/109156947
今日推荐