On Fri, Jun 27, 2008 at 3:21 PM, Casey McGinty <<a href="mailto:casey.mcginty@gmail.com">casey.mcginty@gmail.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br><br>I'm trying to implement a simple Borg or Singleton pattern for a class that inherits from 'dict'. Can someone point out why this code does not work?<br><br>class MyDict( dict ):<br> __state = {}<br>
def __init__(self):<br> self.__dict__ = self.__state<br><br>a = MyDict()<br>a['one'] = 1<br>a['two'] = 2<br><br>print a<br>print MyDict()<br><br>
</blockquote></div><br>This looks like a good solution:<br><br>class MyDict( dict ):<br> def __new__(cls,*p,**k):<br> if not '_instance' in cls.__dict__:<br> cls._instance = dict.__new__(cls)<br> return cls._instance<br>