parameters: (a, max_line_width=None, precision=None,
                   suppress_small=None, separator=' ', prefix="",
                   style=np._NoValue, formatter=None, threshold=None,
                   edgeitems=None, sign=None, floatmode=None, suffix="",
                   **kwarg)
return_statement: return _array2string(a, options, separator, prefix)
docstring: Return a string representation of an array.
  
      Parameters
      ----------
      a : array_like
          Input array.
      max_line_width : int, optional
          Inserts newlines if text is longer than `max_line_width`.
          Defaults to ``numpy.get_printoptions()['linewidth']``.
      precision : int or None, optional
          Floating point precision.
          Defaults to ``numpy.get_printoptions()['precision']``.
      suppress_small : bool, optional
          Represent numbers "very close" to zero as zero; default is False.
          Very close is defined by precision: if the precision is 8, e.g.,
          numbers smaller (in absolute value) than 5e-9 are represented as
          zero.
          Defaults to ``numpy.get_printoptions()['suppress']``.
      separator : str, optional
          Inserted between elements.
      prefix : str, optional
      suffix: str, optional
          The length of the prefix and suffix strings are used to respectively
          align and wrap the output. An array is typically printed as::
  
            prefix + array2string(a) + suffix
  
          The output is left-padded by the length of the prefix string, and
          wrapping is forced at the column ``max_line_width - len(suffix)``.
          It should be noted that the content of prefix and suffix strings are
          not included in the output.
      style : _NoValue, optional
          Has no effect, do not use.
  
          .. deprecated:: 1.14.0
      formatter : dict of callables, optional
          If not None, the keys should indicate the type(s) that the respective
          formatting function applies to.  Callables should return a string.
          Types that are not specified (by their corresponding keys) are handled
          by the default formatters.  Individual types for which a formatter
          can be set are:
  
          - 'bool'
          - 'int'
          - 'timedelta' : a `numpy.timedelta64`
          - 'datetime' : a `numpy.datetime64`
          - 'float'
          - 'longfloat' : 128-bit floats
          - 'complexfloat'
          - 'longcomplexfloat' : composed of two 128-bit floats
          - 'void' : type `numpy.void`
          - 'numpystr' : types `numpy.string_` and `numpy.unicode_`
          - 'str' : all other strings
  
          Other keys that can be used to set a group of types at once are:
  
          - 'all' : sets all types
          - 'int_kind' : sets 'int'
          - 'float_kind' : sets 'float' and 'longfloat'
          - 'complex_kind' : sets 'complexfloat' and 'longcomplexfloat'
          - 'str_kind' : sets 'str' and 'numpystr'
      threshold : int, optional
          Total number of array elements which trigger summarization
          rather than full repr.
          Defaults to ``numpy.get_printoptions()['threshold']``.
      edgeitems : int, optional
          Number of array items in summary at beginning and end of
          each dimension.
          Defaults to ``numpy.get_printoptions()['edgeitems']``.
      sign : string, either '-', '+', or ' ', optional
          Controls printing of the sign of floating-point types. If '+', always
          print the sign of positive values. If ' ', always prints a space
          (whitespace character) in the sign position of positive values.  If
          '-', omit the sign character of positive values.
          Defaults to ``numpy.get_printoptions()['sign']``.
      floatmode : str, optional
          Controls the interpretation of the `precision` option for
          floating-point types.
          Defaults to ``numpy.get_printoptions()['floatmode']``.
          Can take the following values:
  
          - 'fixed': Always print exactly `precision` fractional digits,
            even if this would print more or fewer digits than
            necessary to specify the value uniquely.
          - 'unique': Print the minimum number of fractional digits necessary
            to represent each value uniquely. Different elements may
            have a different number of digits.  The value of the
            `precision` option is ignored.
          - 'maxprec': Print at most `precision` fractional digits, but if
            an element can be uniquely represented with fewer digits
            only print it with that many.
          - 'maxprec_equal': Print at most `precision` fractional digits,
            but if every element in the array can be uniquely
            represented with an equal number of fewer digits, use that
            many digits for all elements.
      legacy : string or `False`, optional
          If set to the string `'1.13'` enables 1.13 legacy printing mode. This
          approximates numpy 1.13 print output by including a space in the sign
          position of floats and different behavior for 0d arrays. If set to
          `False`, disables legacy mode. Unrecognized strings will be ignored
          with a warning for forward compatibility.
  
          .. versionadded:: 1.14.0
  
      Returns
      -------
      array_str : str
          String representation of the array.
  
      Raises
      ------
      TypeError
          if a callable in `formatter` does not return a string.
  
      See Also
      --------
      array_str, array_repr, set_printoptions, get_printoptions
  
      Notes
      -----
      If a formatter is specified for a certain type, the `precision` keyword is
      ignored for that type.
  
      This is a very flexible function; `array_repr` and `array_str` are using
      `array2string` internally so keywords with the same name should work
      identically in all three functions.
  
      Examples
      --------
      >>> x = np.array([1e-16,1,2,3])
      >>> np.array2string(x, precision=2, separator=',',
      ...                       suppress_small=True)
      '[0.,1.,2.,3.]'
  
      >>> x  = np.arange(3.)
      >>> np.array2string(x, formatter={'float_kind':lambda x: "%.2f" % x})
      '[0.00 1.00 2.00]'
  
      >>> x  = np.arange(3)
      >>> np.array2string(x, formatter={'int':lambda x: hex(x)})
      '[0x0 0x1 0x2]'
docstring_summary: Return a string representation of an array.
docstring_tokens: Return a string representation of an array .
function: def array2string(a, max_line_width=None, precision=None,
                   suppress_small=None, separator=' ', prefix="",
                   style=np._NoValue, formatter=None, threshold=None,
                   edgeitems=None, sign=None, floatmode=None, suffix="",
                   **kwarg):
      """
      Return a string representation of an array.
  
      Parameters
      ----------
      a : array_like
          Input array.
      max_line_width : int, optional
          Inserts newlines if text is longer than `max_line_width`.
          Defaults to ``numpy.get_printoptions()['linewidth']``.
      precision : int or None, optional
          Floating point precision.
          Defaults to ``numpy.get_printoptions()['precision']``.
      suppress_small : bool, optional
          Represent numbers "very close" to zero as zero; default is False.
          Very close is defined by precision: if the precision is 8, e.g.,
          numbers smaller (in absolute value) than 5e-9 are represented as
          zero.
          Defaults to ``numpy.get_printoptions()['suppress']``.
      separator : str, optional
          Inserted between elements.
      prefix : str, optional
      suffix: str, optional
          The length of the prefix and suffix strings are used to respectively
          align and wrap the output. An array is typically printed as::
  
            prefix + array2string(a) + suffix
  
          The output is left-padded by the length of the prefix string, and
          wrapping is forced at the column ``max_line_width - len(suffix)``.
          It should be noted that the content of prefix and suffix strings are
          not included in the output.
      style : _NoValue, optional
          Has no effect, do not use.
  
          .. deprecated:: 1.14.0
      formatter : dict of callables, optional
          If not None, the keys should indicate the type(s) that the respective
          formatting function applies to.  Callables should return a string.
          Types that are not specified (by their corresponding keys) are handled
          by the default formatters.  Individual types for which a formatter
          can be set are:
  
          - 'bool'
          - 'int'
          - 'timedelta' : a `numpy.timedelta64`
          - 'datetime' : a `numpy.datetime64`
          - 'float'
          - 'longfloat' : 128-bit floats
          - 'complexfloat'
          - 'longcomplexfloat' : composed of two 128-bit floats
          - 'void' : type `numpy.void`
          - 'numpystr' : types `numpy.string_` and `numpy.unicode_`
          - 'str' : all other strings
  
          Other keys that can be used to set a group of types at once are:
  
          - 'all' : sets all types
          - 'int_kind' : sets 'int'
          - 'float_kind' : sets 'float' and 'longfloat'
          - 'complex_kind' : sets 'complexfloat' and 'longcomplexfloat'
          - 'str_kind' : sets 'str' and 'numpystr'
      threshold : int, optional
          Total number of array elements which trigger summarization
          rather than full repr.
          Defaults to ``numpy.get_printoptions()['threshold']``.
      edgeitems : int, optional
          Number of array items in summary at beginning and end of
          each dimension.
          Defaults to ``numpy.get_printoptions()['edgeitems']``.
      sign : string, either '-', '+', or ' ', optional
          Controls printing of the sign of floating-point types. If '+', always
          print the sign of positive values. If ' ', always prints a space
          (whitespace character) in the sign position of positive values.  If
          '-', omit the sign character of positive values.
          Defaults to ``numpy.get_printoptions()['sign']``.
      floatmode : str, optional
          Controls the interpretation of the `precision` option for
          floating-point types.
          Defaults to ``numpy.get_printoptions()['floatmode']``.
          Can take the following values:
  
          - 'fixed': Always print exactly `precision` fractional digits,
            even if this would print more or fewer digits than
            necessary to specify the value uniquely.
          - 'unique': Print the minimum number of fractional digits necessary
            to represent each value uniquely. Different elements may
            have a different number of digits.  The value of the
            `precision` option is ignored.
          - 'maxprec': Print at most `precision` fractional digits, but if
            an element can be uniquely represented with fewer digits
            only print it with that many.
          - 'maxprec_equal': Print at most `precision` fractional digits,
            but if every element in the array can be uniquely
            represented with an equal number of fewer digits, use that
            many digits for all elements.
      legacy : string or `False`, optional
          If set to the string `'1.13'` enables 1.13 legacy printing mode. This
          approximates numpy 1.13 print output by including a space in the sign
          position of floats and different behavior for 0d arrays. If set to
          `False`, disables legacy mode. Unrecognized strings will be ignored
          with a warning for forward compatibility.
  
          .. versionadded:: 1.14.0
  
      Returns
      -------
      array_str : str
          String representation of the array.
  
      Raises
      ------
      TypeError
          if a callable in `formatter` does not return a string.
  
      See Also
      --------
      array_str, array_repr, set_printoptions, get_printoptions
  
      Notes
      -----
      If a formatter is specified for a certain type, the `precision` keyword is
      ignored for that type.
  
      This is a very flexible function; `array_repr` and `array_str` are using
      `array2string` internally so keywords with the same name should work
      identically in all three functions.
  
      Examples
      --------
      >>> x = np.array([1e-16,1,2,3])
      >>> np.array2string(x, precision=2, separator=',',
      ...                       suppress_small=True)
      '[0.,1.,2.,3.]'
  
      >>> x  = np.arange(3.)
      >>> np.array2string(x, formatter={'float_kind':lambda x: "%.2f" % x})
      '[0.00 1.00 2.00]'
  
      >>> x  = np.arange(3)
      >>> np.array2string(x, formatter={'int':lambda x: hex(x)})
      '[0x0 0x1 0x2]'
  
      """
      legacy = kwarg.pop('legacy', None)
      if kwarg:
          msg = "array2string() got unexpected keyword argument '{}'"
          raise TypeError(msg.format(kwarg.popitem()[0]))
  
      overrides = _make_options_dict(precision, threshold, edgeitems,
                                     max_line_width, suppress_small, None, None,
                                     sign, formatter, floatmode, legacy)
      options = _format_options.copy()
      options.update(overrides)
  
      if options['legacy'] == '1.13':
          if style is np._NoValue:
              style = repr
  
          if a.shape == () and a.dtype.names is None:
              return style(a.item())
      elif style is not np._NoValue:
          # Deprecation 11-9-2017  v1.14
          warnings.warn("'style' argument is deprecated and no longer functional"
                        " except in 1.13 'legacy' mode",
                        DeprecationWarning, stacklevel=3)
  
      if options['legacy'] != '1.13':
          options['linewidth'] -= len(suffix)
  
      # treat as a null array if any of shape elements == 0
      if a.size == 0:
          return "[]"
  
      return _array2string(a, options, separator, prefix)
function_tokens: def array2string ( a , max_line_width = None , precision = None , suppress_small = None , separator = ' ' , prefix = "" , style = np . _NoValue , formatter = None , threshold = None , edgeitems = None , sign = None , floatmode = None , suffix = "" , * * kwarg ) : legacy = kwarg . pop ( 'legacy' , None ) if kwarg : msg = "array2string() got unexpected keyword argument '{}'" raise TypeError ( msg . format ( kwarg . popitem ( ) [ 0 ] ) ) overrides = _make_options_dict ( precision , threshold , edgeitems , max_line_width , suppress_small , None , None , sign , formatter , floatmode , legacy ) options = _format_options . copy ( ) options . update ( overrides ) if options [ 'legacy' ] == '1.13' : if style is np . _NoValue : style = repr if a . shape == ( ) and a . dtype . names is None : return style ( a . item ( ) ) elif style is not np . _NoValue : # Deprecation 11-9-2017  v1.14 warnings . warn ( "'style' argument is deprecated and no longer functional" " except in 1.13 'legacy' mode" , DeprecationWarning , stacklevel = 3 ) if options [ 'legacy' ] != '1.13' : options [ 'linewidth' ] -= len ( suffix ) # treat as a null array if any of shape elements == 0 if a . size == 0 : return "[]" return _array2string ( a , options , separator , prefix )