code: def __setattr__(self, key, value):
      caller_name = sys._getframe(1).f_code.co_name
  
      if caller_name != "__init__" and not hasattr(self, key):
          raise TypeError(
              "Parameter '{}' does not exist in {}. Parameters are only to be defined in a constructor of"
              " a class inheriting from Parameters. In order to explicitly register a new parameter "
              "outside of a constructor use register_var().".format(
                  key, self.__class__
              )
          )
      object.__setattr__(self, key, value)
  
imports: import inspect
  import json
  import os
  import sys
  import types
  from collections import OrderedDict
  from enum import Enum
  from typing import Dict, List, Union
  from rl_coach.core_types import TrainingSteps, EnvironmentSteps, GradientClippingMethod, RunPhase, SelectedPhaseOnlyDumpFilter, MaxDumpFilter
  from rl_coach.filters.filter import NoInputFilter
  from rl_coach.logger import screen
label_desc: Use image node_id 1 for calling the Parameters obj's underlying member method code with example usage: obj.__setattr__(key, value) without return types