class ReturnParams: def __init__(self, **kwargs): # 内部存储所有返回参数 self._data = dict(kwargs) def __getattr__(self, name): # 如果属性不存在,返回 None 而不是抛出异常 return self._data.get(name, None) # try: # return self._data[name] # except KeyError: # raise AttributeError(f"'ReturnParams' object has no attribute '{name}'") def __setattr__(self, name, value): # 特殊属性直接写入__dict__ if name == "_data": super().__setattr__(name, value) else: self._data[name] = value def __getitem__(self, key): # 如果 key 不存在,返回 None return self._data.get(key, None) def __setitem__(self, key, value): self._data[key] = value def to_dict(self): return self._data.copy() def __repr__(self): return f"{self.__class__.__name__}({self._data})"