code: def real(val):
      """
      Return the real part of the complex argument.
  
      Parameters
      ----------
      val : array_like
          Input array.
  
      Returns
      -------
      out : ndarray or scalar
          The real component of the complex argument. If `val` is real, the type
          of `val` is used for the output.  If `val` has complex elements, the
          returned type is float.
  
      See Also
      --------
      real_if_close, imag, angle
  
      Examples
      --------
      >>> a = np.array([1+2j, 3+4j, 5+6j])
      >>> a.real
      array([ 1.,  3.,  5.])
      >>> a.real = 9
      >>> a
      array([ 9.+2.j,  9.+4.j,  9.+6.j])
      >>> a.real = np.array([9, 8, 7])
      >>> a
      array([ 9.+2.j,  8.+4.j,  7.+6.j])
      >>> np.real(1 + 1j)
      1.0
  
      """
      try:
          return val.real
      except AttributeError:
          return asanyarray(val).real
  
imports: from __future__ import division, absolute_import, print_function
  import functools
  import warnings
  import numpy.core.numeric
  from numpy.core.numeric import asarray, asanyarray, isnan, zeros
  from numpy.core.overrides import set_module
  from numpy.core import overrides
  from .ufunclike import isneginf, isposinf
label_desc: Use image node_id 5 for calling a global function with example usage: real(val) and returns: val, asanyarray