def __get__(self, obj, objtype=None):
        if obj is None:
            return self
        if not obj.data:
            return obj.default
        try:
            return getattr(obj, self.internal_name)
        except __HOLE__:
            setattr(obj, self.internal_name, self.func(obj))
            return getattr(obj, self.internal_name)
dataset/ETHPy150Open mahmoud/boltons/boltons/statsutils.py/_StatsProperty.__get__