On 1/17/06, "Martin v. Löwis" martin@v.loewis.de wrote:
class Color: msg = {'en':['red', 'green', 'blue'], 'de':['rot','grün','blau']} def __str__(self, language='en'): return self.msg[language][self.value]
red = Color(0)
so you could say
print str(red, 'de')
I don't think I like this direction.
I agree that *args makes the code non-obvious. However, if **kwargs is used instead:
def str(obj, **kwargs): return obj.__str__(**kwargs)
class Color: msg = {'en':['red', 'green', 'blue'], 'de':['rot','grün','blau']} def __str__(self, language='en'): return self.msg[language][self.value]
red = Color(0)
print str(red, language='de')
I find that quite readable.
-- Adam Olsen, aka Rhamphoryncus