I am probably misunderstandin g some basic issue here but this
behaviour is not what I would expect:
Python 2.4 (#1, Mar 22 2005, 21:42:42)
[GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright" , "credits" or "license" for more information.
.... pass
....
True
False
Why is the strip( ) method returning something that is not a mystr
instance? I would expect all methods operating on a string instance
and returning another string instance to correctly operate on a mystr
instance and return a mystr instance. How would I achieve something
like this without manually copying all string returning methods from
str and stuffing the result to mystr( ) before returning?
behaviour is not what I would expect:
Python 2.4 (#1, Mar 22 2005, 21:42:42)
[GCC 3.3.5 20050117 (prerelease) (SUSE Linux)] on linux2
Type "help", "copyright" , "credits" or "license" for more information.
>>class mystr( str ):
....
>>x = mystr( 'x' )
>>isinstance( x, mystr )
>>isinstance( x, mystr )
>>isinstance( x.strip( ), mystr )
>>>
Why is the strip( ) method returning something that is not a mystr
instance? I would expect all methods operating on a string instance
and returning another string instance to correctly operate on a mystr
instance and return a mystr instance. How would I achieve something
like this without manually copying all string returning methods from
str and stuffing the result to mystr( ) before returning?
Comment