code: def __setattr__(self, name: str, value: Any):
      if name not in self._extensions:
          raise AttributeError(Errors.E047.format(name=name))
      default, method, getter, setter = self._extensions[name]
      if setter is not None:
          return setter(self._obj, value)
      else:
          self._doc.user_data[self._get_key(name)] = value
  
file_path: spacy/spacy/tokens/underscore.py
imports: import copy
  import functools
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
  from ..errors import Errors
label_desc: Use image node_id 4 for calling the Underscore obj's underlying member method code with example usage: obj.__setattr__(name, value) and returns: setter