[EMAIL PROTECTED] schrieb:
Beginner, so please bare with me. I'm not sure what to call what it
is I'm looking for.
If I have an object class, let's call it "Creature":
class Creature:
def __init__(self, status):
self.status = "happy"
def change_status(self, new_status):
self.status = new_status
def print_status(self):
print self.status
I would like to be able to print out the Creature's status every 20
seconds. Let's say I use a script like this:
import time
while True:
time.sleep(20)
Creature.print_status()
But, while cycling through printing the status, I would like to be
able to update Creature.status to something new.
I might be approaching this from the wrong direction entirely. Thanks
for your input.
The "simple", yet possibly dangerous answer is: you need
multi-threading. Multi-threading is a technique that allows several
(quasi)-parallel paths of execution whilst sharing memory and objects
inside that memory. The module in python to achieve this is called
"threading".
However, concurrent programming is a very advanced topic, ridded with
pitfalls for even experienced developers.
There are other ways to solve the problem, commonly known as event-loops
and timers. These are usually part of frameworks for e.g GUI-creation an
such, but you can also roll your own if you like.
So, the better answer might be a question: what do you ultimately want
to achieve? Given the name of your class, Creature, I assume you are
writing on some game or such. Depending on how you plan to do that, you
might have a framwork providing you with the needed tools/library calls
or whatever.
Diez
--
http://mail.python.org/mailman/listinfo/python-list