我發現這在Python中尋找單例概念。我想知道的是爲什麼self._instance = super(Singleton, self).__new__(self)
不會導致無限循環。我認爲調用__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
不是'Singleton .__ new __()'應該返回一個'Singleton'的實例嗎?但正如你所提到的,當你做'super(Singleton,self)時,你會得到一個'object'的實例.__ new __(self)'' – Adrian