Python----単例
1278 ワード
目的:クラスにオブジェクトを作成させ、システム内で唯一のインスタンスのみを作成します.
クラス名()を実行するたびに返されるオブジェクトは、メモリアドレスが同じです.
new内蔵メソッドを書き換える必要があり、必ずreturn supper()に戻る.new(cls)
newはオブジェクトに空間を割り当て,オブジェクトの参照を返す
Initオブジェクトの初期化、インスタンスプロパティの定義
クラス名()を実行するたびに返されるオブジェクトは、メモリアドレスが同じです.
new内蔵メソッドを書き換える必要があり、必ずreturn supper()に戻る.new(cls)
newはオブジェクトに空間を割り当て,オブジェクトの参照を返す
Initオブジェクトの初期化、インスタンスプロパティの定義
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 0x0000000001E1E828