code: def setter(self, name: str, rename: Optional[str] = None) -> 'ProxyAttr':
          
          if rename is None:
              rename = name
          if self.reuse_handle(name, rename, self._setter):
              return self
  
          def proxy_set(this: Any, val: Any) -> None:
              """
              代理 setattr
              """
              proxy_target_ = getattr(this, self._target)
              setattr(proxy_target_, name, val)
          if name in self._getter:
              func = self._func_map[name]
              func = func.setter(proxy_set)
          else:
              func = property(None, proxy_set)
          self._func_map[name] = func
          setattr(self._proto, rename, func)
          self._setter[name] = {rename}
          return self
docs: 为类设置代理 setter