#### Previous topic

numpy.get_printoptions

#### Next topic

numpy.binary_repr

# numpy.set_string_function

`numpy.``set_string_function`(f, repr=True)

  Set a Python function to be used when pretty printing arrays.

  Parameters : | f : function or None Function to be used to pretty print arrays. The function should expect a single array argument and return a string of the representation of the array. If None, the function is reset to the default NumPy function to print arrays. repr : bool, optional If True (default), the function for pretty printing (`__repr__`) is set, if False the function that returns the default string representation (`__str__`) is set.

  See also

  `set_printoptions`, `get_printoptions`

  Examples

      >>> def pprint(arr):
      ...     return 'HA! - What are you going to do now?'
      ...
      >>> np.set_string_function(pprint)
      >>> a = np.arange(10)
      >>> a
      HA! - What are you going to do now?
      >>> print a
      [0 1 2 3 4 5 6 7 8 9]

  We can reset the function to the default:

      >>> np.set_string_function(None)
      >>> a
      array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

  `repr` affects either pretty printing or normal string representation. Note that `__repr__` is still affected by setting `__str__` because the width of each array element in the returned string becomes equal to the length of the result of `__str__()`.

      >>> x = np.arange(4)
      >>> np.set_string_function(lambda x:'random', repr=False)
      >>> x.__str__()
      'random'
      >>> x.__repr__()
      'array([     0,      1,      2,      3])'