docstr: Initialize attributes as properties
  
  The properties are taken from the `self.hsgp_attributes` dictionary. This is to avoid
  writing many @property calls in the class definition.
  
  Parameters
  ----------
  names : Sequence[str]
      The names of the attributes taken from `self.hsgp_attributes`
docstr_tok: ["Initialize","attributes","as","properties","The","properties","are","taken","from","the","`","self.hsgp_attributes","`","dictionary",".","This","is","to","avoid","writing","many","@","property","calls","in","the","class","definition",".","Parameters","--","--","--","--","--","names",":","Sequence","[","str","]","The","names","of","the","attributes","taken","from","`","self.hsgp_attributes","`"]
code: def __init_properties(self, names):
      """Initialize attributes as properties
  
      The properties are taken from the `self.hsgp_attributes` dictionary. This is to avoid
      writing many @property calls in the class definition.
  
      Parameters
      ----------
      names : Sequence[str]
          The names of the attributes taken from `self.hsgp_attributes`
      """
  
      def get(self, name):
          return self.hsgp_attributes[name]
  
      for name in names:
          get_partial = partial(get, name=name)
          setattr(self.__class__, name, property(get_partial))
  
imports: from functools import partial
  import numpy
  import formulae.terms
  from bambi.terms.base import BaseTerm, VALID_PRIORS
label_desc: Use image node_id 2 for calling the HSGPTerm obj's underlying member method code with example usage: obj.__init_properties(names) and returns: self