# ClsProperty
# ClassProperty
class ClsProperty:
def __init__(self, f):
self.f = f
pass
def __get__(self, instance, owner):
assert instance is None and owner is not None
func_name = self.f.__name__
clsp_name = f"clsp_{func_name}"
if clsp_name not in owner.__dict__:
setattr(owner, clsp_name, self.f(owner))
return getattr(owner, clsp_name)
← 序列协议 EmailField →