[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Re: Newbie question on Classes

Fredrik Lundh

1/10/2008 9:54:00 PM

Adrian Wood wrote:

> I can call man.state() and then woman.state() or Person.state(man) and
> Person.state(woman) to print the status of each. This takes time and
> space however, and becomes unmanageable if we start talking about a
> large number of objects, and unworkable if there is an unknown number.
> What I'm after is a way to call the status of every instance of Man,
> without knowing their exact names or number.
>
> I've gone through the relevant parts of the online docs, tried to find
> information elsewhere online, and looked for code samples, but the
> ionformation either isn't there, or just isn't clicking with me. I've
> tried tracking the names of each object in a list, and even creating
> each object within a list, but don't seem to be able to find the right
> syntax to make it all work.

For a start, how about:

class Person:
... your class ...

persons = []

man = Person()
persons.add(man)

woman = Person()
persons.add(woman)

for p in persons:
print p, p.state()

Once you've gotten this to work, you can, if you want, look into moving
the list maintenance into the class itself (i.e. let the __init__
function add the person to the list, and provide a destroy method that
removes it from the list). And once you've gotten that to work, you can
look at the "weakref" module for more elegant ways to handle
destruction. But one step at a time...

</F>