import numpy as np
import math as m
# 函数矢量化
def foo(x, y):
return m.sqrt(x ** 2 + y ** 2)
# x, y = 3, 4
x = np.array([3, 4, 5])
y = np.array([4, 5, 6])
foo_vec = np.vectorize(foo) # 返回的是一个矢量化后的函数,可以进行矢量运算
print(foo_vec(x, y))
print(np.vectorize(foo)(x, y), np.vectorize(foo)(x, y).dtype)
foo_func = np.frompyfunc(foo, 2, 1) #函数名,参数个数,返回值个数
print(foo_func(x, y))
print(foo_func(x, y).dtype)



