huashijie_work/huashijie/util/unique_str.py
2024-04-21 20:49:25 +08:00

19 lines
407 B
Python

class uniquestr(str):
_lower = None
def __hash__(self):
return id(self)
def __eq__(self, other):
return self is other
def lower(self):
if self._lower is None:
lower = str.lower(self)
if str.__eq__(lower, self):
self._lower = self
else:
self._lower = uniquestr(lower)
return self._lower