dcn*_*lls 11 python arrays function
是否有一种简单的方法来获取函数来返回np.array和变量?
例如:
my_array = np.zeros(3)
my_variable = 0.
def my_function():
    my_array = np.array([1.,2.,3.])
    my_variable = 99.
    return my_array,my_variable
my_function()
以便函数中计算的值可以在代码中使用?以上忽略了函数中计算的值.
我尝试返回一个元组{my_array,my_variable},但为np.array获取了不可用的类型消息
DN
Jon*_*art 12
你的功能是正确的.当你写作时return my_array,my_variable,你的函数实际上是返回一个元组(my_array, my_variable).
您可以先将返回值my_function()赋给变量,这将是我描述的元组:
result = my_function()
接下来,由于您知道元组中有多少项提前,您可以将元组解压缩为两个不同的值:
result_array, result_variable = result
或者你可以在一行中完成:
result_array, result_variable = my_function()
与返回元组和元组解包相关的其他注释:
如果我的函数可以None在非异常失败或空案例中返回,我有时会将这两个步骤分开:
result = my_function()
if result == None:
    print 'No results'
    return
a,b = result
# ...
您也可以使用索引从元组访问指定的项目,而不是解压缩:
result = my_function()
result_array = result[0]
result_variable = result[1]
如果由于某种原因你有一个单项元组:
return (my_variable,)
您可以使用相同(稍微笨拙)的一个逗号语法解压缩它:
my_variable, = my_function()
它不会忽略返回的值,也不会将它们分配给变量.
my_array, my_variable = my_function()