huashijie_work/huashijie/util/unique_str.py

19 lines
407 B
Python
Raw Normal View History

2024-04-21 05:49:25 -07:00
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