Gnarlodious wrote: > Question. Is there a special method or easy way to set default values > with each call to an instance? Any ideas to make it easier? What I > want to do is have a constantly updating set of values which can be > overridden. Just thought there was an easy way to set that up.
All the words are in English, but the sentences make no sense :) Seriously, I don't understand what you mean. "Call to an instance"? Do mean treating instances as a callable (like a function), or do you mean calling an arbitrary method? To make an instance itself callable, define a __call__ method. What do you mean, "constantly updating set of values that can be overridden"? Perhaps a simple example might help. The closest thing I can think of, might be: you want to store a data attribute in an instance, and use that if the caller doesn't specify differently. Something like: class Parrot: name = "Polly" def speak(self, name=None): if name is None: name = self.name print("%s wants a cracker!" % name) And in use: >>> p = Parrot() >>> p.speak() Polly wants a cracker! >>> p.speak("Peter") Peter wants a cracker! >>> p.name = "Penelope" >>> p.speak() Penelope wants a cracker! If None is a legitimate value, then you can define your own sentinel to use instead: MISSING = object() # Unique object guaranteed not to be used by the caller. # (Guarantee void on planet Earth.) then replace None by MISSING in the code above. Is this the sort of scenario you are talking about? If not, I'm completely lost. -- Steven -- http://mail.python.org/mailman/listinfo/python-list