python - Accessing the original value of the unicode string when subclassing unicode -
try class work so:
>>> original = u"abcd-123-foo" >>> suffix = suffixcomparingunicodestring("foo") >>> suffix == original # if original ends suffix, true true
i know it's silly. please bear me.
anyway, can't figure out how actual, er, string (not str
, mind) within unicode
object. can fine:
>>> class suffixcomparingunicodestring(unicode): ... def __init__(self, x): ... super(suffixcomparingunicodestring, self).__init__(x) ... self._myval = x ... def __eq__(self, other): ... return isinstance(other, unicode) , other.endswith(self._myval) ... >>> suffixcomparingunicodestring("foo") == u"barfoo" true
how can without storing value myself? unicode
call underlying character sequence?
since subclassing unicode
, instances of sufficcomparingunicodestring
can used other unicode string. can use other.endswith(self)
in __eq__()
implementation:
class suffixcomparingunicodestring(unicode): def __eq__(self, other): return isinstance(other, unicode) , other.endswith(self)
Comments
Post a Comment