code: def _get_attr(obj, key):
      if isinstance(obj, dict):
          return obj[key]
      else:
          return obj.__getattribute__(key)
  
imports: from typing import Optional, Tuple, Callable, Any, List, Union
  import numpy
  import tensorflow.compat.v2
  from tf_quant_finance import datetime
  from tf_quant_finance.experimental.pricing_platform.framework.core import curve_types
  from tf_quant_finance.experimental.pricing_platform.framework.core import processed_market_data
  from tf_quant_finance.experimental.pricing_platform.framework.core import types
  from tf_quant_finance.experimental.pricing_platform.framework.market_data import rate_curve
  from tf_quant_finance.experimental.pricing_platform.framework.market_data import utils
  from tf_quant_finance.experimental.pricing_platform.framework.rate_instruments import coupon_specs
  from tf_quant_finance.experimental.pricing_platform.instrument_protos import period_pb2
  from tf_quant_finance.math import pad
label_desc: Use image node_id 7 for calling a global function with example usage: _get_attr(obj, key) and returns: obj, obj