object aware of others
Jerry Hill
malaclypse2 at gmail.com
Sun Jan 29 12:45:47 EST 2012
More information about the Python-list mailing list
Sun Jan 29 12:45:47 EST 2012
- Previous message (by thread): object aware of others
- Next message (by thread): object aware of others
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Jan 29, 2012 at 1:47 AM, Lee <lchaplin13 at gmail.com> wrote: > I was afraid that a list/set/dictionary and alike is the answer, but, > anyway, thanks everybody. > > It doesn't seem too bad to keep track of the instances in the class object using weak references (http://docs.python.org/py3k/library/weakref.html). Here's an example that seems to do what you're asking using python 3.2, but it should be pretty similar in python 2: import weakref class A: _instances = set() def __init__(self): self.myname = 'IamA' print('This is A') self.__class__._instances.add(weakref.ref(self)) def foo(self): print("foo") def update(self): for ref in self.__class__._instances: obj = ref() if obj is not None: print("The only friends I've got are ", ref, obj.myname) If you're creating lots of instances of A and deleting them, it would probably be worth removing the old weakrefs from the _instances set instead of just ignoring them when calling update(). -- Jerry -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-list/attachments/20120129/ba233281/attachment-0001.html>
- Previous message (by thread): object aware of others
- Next message (by thread): object aware of others
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list