In <[EMAIL PROTECTED]>, [EMAIL PROTECTED] wrote: > I want to have a str with custom methods, but I have this problem: > > class myStr(str): > def hello(self): > return 'hello '+self > > s=myStr('world') > print s.hello() # prints 'hello world' > s=s.upper() > print s.hello() # expected to print 'hello WORLD', but s is no longer > myStr, it's a regular str! > > What can I do?
Return a `myStr` instance instead of a regular `str`: def hello(self): return myStr('hello ' + self) Ciao, Marc 'BlackJack' Rintsch -- http://mail.python.org/mailman/listinfo/python-list