Emmanuel Briot wrote: > > I am not really good at python, but I was trying to implement the > singleton design pattern in C, so that for instance calling the constructor > > ed = Editor ("foo") > > would either return an existing instance of Editor currently editing > "foo", or would create a new instance.
Hmm, if there can be more than one Editor I wouldn't call it a singleton. But this should do what you want: class Editor(object): _cache = {} def __init__(self, arg): self._cache[arg] = self def __new__(cls, arg): if arg in cls._cache: return cls._cache[arg] return object.__new__(cls, arg) > Has any one an example on how to do that in C, or maybe even at the > python level itself, and I will try to adapt it ? C is a *lot* more work and tricky too. hth, n -- http://mail.python.org/mailman/listinfo/python-list