#### Previous topic

numpy.vectorize.__call__

#### Next topic

numpy.piecewise

# numpy.frompyfunc

`numpy.``frompyfunc`(func, nin, nout)

  Takes an arbitrary Python function and returns a Numpy ufunc.

  Can be used, for example, to add broadcasting to a built-in Python function (see Examples section).

  Parameters: | func : Python function object An arbitrary Python function. nin : int The number of input arguments. nout : int The number of objects returned by func.
  Returns: | out : ufunc Returns a Numpy universal function (`ufunc`) object.

  Notes

  The returned ufunc always returns PyObject arrays.

  Examples

  Use frompyfunc to add broadcasting to the Python function `oct`:

      >>> oct_array = np.frompyfunc(oct, 1, 1)
      >>> oct_array(np.array((10, 30, 100)))
      array([012, 036, 0144], dtype=object)
      >>> np.array((oct(10), oct(30), oct(100))) # for comparison
      array(['012', '036', '0144'],
            dtype='|S4')