あなたの機能は正しいです。あなたが書くときreturn my_array,my_variable
、あなたの関数は実際にタプルを返してい(my_array, my_variable)
ます。
最初に、の戻り値をmy_function()
変数に割り当てることができます。これは、私が説明するこのタプルになります。
result = my_function()
次に、タプルに含まれるアイテムの数が事前にわかっているので、タプルを 2 つの異なる値にアンパックできます。
result_array, result_variable = result
または、1 行で実行できます。
result_array, result_variable = my_function()
タプルを返すこと、およびタプルのアンパックに関するその他の注意事項:
None
関数が例外的でない失敗または空の場合に戻ることができる場合、2 つのステップを別々にしておくことがあります。
result = my_function()
if result == None:
print 'No results'
return
a,b = result
# ...
アンパックする代わりに、インデックスを使用して、タプルから指定されたアイテムにアクセスできます。
result = my_function()
result_array = result[0]
result_variable = result[1]
何らかの理由で 1 項目のタプルがある場合:
return (my_variable,)
同じ (少しぎこちない) 1 つのコンマの構文で展開できます。
my_variable, = my_function()