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})"