"David Merrick" <merrick...@gmail.com> wrote
Is it possible too have
crit1 = Critter("Dave")
crit2 = Critter("Sweetie")
farm = [crit1,crit2] #List#
and then be able to use Critters methods on farm?
No, Marc has already answered that.
class Critter(object):
"""A virtual pet"""
def __init__(self, name, hunger = 0, boredom = 0):
# __ denotes private method
def __pass_time(self):
self.hunger += 1
self.boredom += 1
self.__str__()
def __str__(self):
print("Hunger is",self.hunger, "Boredom is " ,self.boredom)
print("Unhappines is ",self.hunger + self.boredom," and Mood
is
",self.mood)
This is a really bad idea. Please do not do this,
it will almost certainly lead to problems later.
__str__ should return a string. It should not print anything.
Then you can simply call
print (self)
at the end of the pass_time method
or call
print (farm[0])
in your external code.
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