On 18 juin, 13:24, Tim Chase <python.l...@tim.thechases.com> wrote: > On 06/18/2011 05:55 AM, bruno.desthuilli...@gmail.com wrote: > > > On 18 juin, 06:17, John Salerno<johnj...@gmail.com> wrote: > >> class Character: > > >> base_health = 50 > >> base_resource = 10 > > >> def __init__(self, name): > >> self.name = name > >> self.health = base_health > >> self.resource = base_resource > > > Did you at least tried this one ? Hint: it won't work. > > If you want it, you can use > > self.health = Character.base_health > > Though I'd treat them as semi-constants and capitalize them like > your 3rd case: > > class Character(object): > BASE_HEALTH = 50 > ... > def __init__(...): > ... > self.health = Character.BASE_HEALTH >
If you go that way, then using polymorphic dispatch might (or not, depending on the game's rules <g>) be a good idea: class Character(object): BASE_HEALTH = 50 ... def __init__(self, name): ... self.health = type(self).BASE_HEALTH This would allow different Character subclasses to have different BASE_HEALTH etc..., defaulting to the base class values. -- http://mail.python.org/mailman/listinfo/python-list