"Christopher Brookes" <chris.klai...@gmail.com> wrote
I don't understand @classmethod def DisplayAll(cls, herosAll): What is cls ?
This is one of the advanced techniques I referred to a few days ago.
Basically the "best"(?) solution to your problem is to store the list of characters inside the Character class as what is known as a class variable.
Then everytime you create a new Character you can add it to the list by the init method. And when a character is deleted you remove it via the del method.
You can then define class methods to read/print the list, find out how many characters exist etc.
This is much cleaner than keeping a separate global variable since the code for managing characters is all in one place with the classs definition. But it does introduce a bunch of new syntax features which I didn't think you were ready for yet! :-)
One thing you will need to be very careful about as you go forward is namespaces. Remember that everytime you import a module you need to precede any names in that module with the module name. And names inside a class need to be preceded by the class name. And names inside objects need to be preceded by the object (variable) name. If the class is inside a module you need to use both module and class. Thus if the Character class is defined inside character.py you would have something like this in main.py:
import character myObj = character.Character(....) print myObj.display() print character.Character.displayAll() etc. You can simplify it by using the "from m import v" style: from character import Character myObj = Character(....) myObj.display() Character.displayAll() etc. HTH, -- Alan Gauld Author of the Learn to Program web site http://www.alan-g.me.uk/ _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor