是的,可以使用args参数来传递一个或两个np.arrays给一个函数,而不会散布一个数组。args参数允许函数接受可变数量的非关键字参数。在函数内部,*args将传递的参数作为一个元组来处理,可以通过索引来访问传递的np.arrays。
下面是一个示例代码:
import numpy as np
def my_function(*args):
if len(args) == 1:
array1 = args[0]
# 处理array1
print("处理array1:", array1)
elif len(args) == 2:
array1 = args[0]
array2 = args[1]
# 处理array1和array2
print("处理array1:", array1)
print("处理array2:", array2)
else:
print("参数数量错误")
# 示例调用
array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
my_function(array1)
my_function(array1, array2)
输出结果:
处理array1: [1 2 3]
处理array1: [1 2 3]
处理array2: [4 5 6]
在这个示例中,my_function函数使用*args参数来接受传递的np.arrays。根据传递的参数数量,函数内部进行相应的处理。如果只传递一个np.array,则处理该np.array;如果传递两个np.arrays,则同时处理这两个np.arrays。
领取专属 10元无门槛券
手把手带您无忧上云