関数を使用する場合、通常は関数を呼び出し、呼び出された関数の内容が順番に実行されます。ただし、場合によっては、関数内でいくつかの変数を取得する必要があるだけではありません。関数を使用する場合、関数内のデータを取得するために戻り値を追加することもできます。
Python で値を返すには、return ステートメントを使用する必要があります。その構文構造は次のとおりです。
データを返す
関数を使用して変数 a と変数 b の値を求め、その合計を main 関数で出力する場合の戻り値を理解するための例を見てみましょう。コード:
defget_sum(a,b):sum=a+breturnsumget_sum(1,2)
上記のパターンで関数を記述して出力すると、get_sum(1,2) のこの部分の値に相当する sum が返されるため、出力結果はありませんが、演算は行われません。コードを変更すると、次のようになります。
defget_sum(a,b):sum=a+bprint('この関数が呼び出されました')returnsumprint('戻り値の転送を完了します')s=get_sum(1,2)print(s)
出力は次のとおりです。
この関数を呼び出します 3
これを理解するには、ステートメント s = get_sum(1,2) で、関数が最初に呼び出され、その後、関数の値が sum に等しくなり、その後で関数が順番に実行されます。後続のステートメントは実行されなくなります。値を返した後、 s は代入操作を実行し、関数の戻り値を s に代入し、それを出力して出力結果を確認できます。
回路図を見てみましょう。
関数を使用して値を返す場合、1 つの値だけでなく複数の値を返す場合もあります。複数の値を返す方法を見てみましょう。
実際、複数の値を返すときの原理は、1 つの値を返すときと似ています。注意する必要があるのは、複数の値を返すときは、複数の値がタプルに格納されることです。
次の例を見てみましょう。
defget_data():a=1b=2c=3d=4returna,b,c,dprint('戻り値の型:',type(get_data()))print('戻り値:',get_data())
出力結果:
戻り値の型: <class'tuple'>戻り値: (1,2,3,4)
複数の値が返された場合、それらはタプルに格納され、このデータを使用する方法は数多くあることがわかります。
次に、上で返されたデータを直接使用して、4 つの変数を使用して直接定義できます。
i,o,k,l=get_data()print(i,o,k,l)
出力は次のとおりです。
1234
ループ内で戻り値を出力することもできます。
foriinget_data():print('これは返された %d 番目のデータです'%i)
出力は次のとおりです。
これは返された最初のデータです これは返された 2 番目のデータです これは返された 3 番目のデータです これは返された 4 番目のデータです
戻り値は関数の構造において非常に重要です。このセクションでは、関数の戻り値を説明するために、以降の学習で戻り値の使用を強化します。