创建您自己的 ufunc


如何创建自己的 ufunc

要创建自己的 ufunc,您必须定义一个函数,就像在 Python 中处理普通函数一样,然后使用以下命令将其添加到您的 NumPy ufunc 库中:frompyfunc()方法。

这个frompyfunc()方法采用以下参数:

  1. function- 函数的名称。
  2. inputs- 输入参数(数组)的数量。
  3. outputs- 输出数组的数量。

示例

创建您自己的 ufunc 进行加法:

import numpy as np

def myadd(x, y):
  return x+y

myadd = np.frompyfunc(myadd, 2, 1)

print(myadd([1, 2, 3, 4], [5, 6, 7, 8]))
亲自试一试 »

检查函数是否为 ufunc

检查类型函数来检查它是否是 ufunc。

ufunc 应该返回<class 'numpy.ufunc'>

示例

检查函数是否为 ufunc:

import numpy as np

print(type(np.add))
亲自试一试 »

如果它不是 ufunc,它将返回另一种类型,例如用于连接两个或多个数组的内置 NumPy 函数:

示例

检查另一个函数的类型:concatenate():

import numpy as np

print(type(np.concatenate))
亲自试一试 »

如果该函数根本无法识别,它将返回错误:

示例

检查不存在的东西的类型。这会产生一个错误:

import numpy as np

print(type(np.blahblah))
亲自试一试 »

要测试 if 语句中的函数是否为 ufunc,请使用numpy.ufunc值(或np.ufunc如果您使用 np 作为 numpy 的别名):

示例

使用 if 语句检查函数是否为 ufunc:

import numpy as np

if type(np.add) == np.ufunc:
  print('add is ufunc')
else:
  print('add is not ufunc')
亲自试一试 »