尝试获得一个可以像这样工作的课程:
>>> original = u"ABCD-123-foo"
>>> suffix = SuffixComparingUnicodeString("foo")
>>> suffix == original # if original ends with suffix, True
True
我知道这很愚蠢。请多多包涵。
无论如何,我无法弄清楚如何从对象中获取实际的,呃,字符串(不是str
,心灵)unicode
。我可以这样做就好了:
>>> class SuffixComparingUnicodeString(unicode):
... def __init__(self, x):
... super(SuffixComparingUnicodeString, self).__init__(x)
... self._myval = x
... def __eq__(self, other):
... return isinstance(other, unicode) and other.endswith(self._myval)
...
>>> SuffixComparingUnicodeString("foo") == u"barfoo"
True
如果我自己不存储该值,我怎么能做到这一点?什么unicode
叫它的底层字符序列?