파이썬에서 싱글 톤 개념을 찾았습니다. 내가 궁금한 점은 self._instance = super(Singleton, self).__new__(self)
이 infinte 루프를 발생시키지 않는 이유이다. 나는 __new__
을 호출하면 self._instance
이 설정되어서는 안되기 때문에 일종의 재귀를 시작할 것이라고 생각했습니다.왜이 싱글 톤 개념이 무한 루프를 생성하지 않습니까?
내 실수는 어디 갔지?
class Singleton(object):
_instance = None
def __new__(self):
if not self._instance:
self._instance = super(Singleton, self).__new__(self)
return self._instance
'싱글 톤이 아닙니다 .__ 새로운 __()'이 (가)'싱글 톤'의 인스턴스를 반환해야합니까? 그러나 여러분이 언급 한 것처럼'super (Singleton, self) .__ new __ (self)'를 할 때'object'의 인스턴스를 얻습니다. – Adrian