# coding:utf-8
# 单例:让类创建无论多少个对象,最后永远只产生一个实例
# 单次执行初始化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
init_flag = False
def __init__(self):
# 通过变量判断是否已经初始化
if MusicPlayer.init_flag:
return
print '初始化'
MusicPlayer.init_flag = True
player1 = MusicPlayer()
print player1
player2 = MusicPlayer()
print player2
Python学习 - 单次执行初始化init
猜你喜欢
转载自blog.csdn.net/weixin_38892128/article/details/86595931
今日推荐
周排行