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>