return文とは?
return文は、関数内で処理した結果を呼び出し元に返すための文です。
例えば、計算機で「2 + 3」を計算すると「5」という答えが表示されますよね。
プログラムでも同じように、関数で計算や処理をした結果を「答え」として返すのがreturn文の役割です。
関数で処理した結果を他の場所で活用するといった使い方をします。
return文の特徴を挙げてみます。
return文の特徴
- 関数の中でのみ使用でき、関数の実行を終了して指定した値を返す
- return文が実行された時点で関数の処理は完全に終了し、それ以降のコードは実行されない
- 数値、文字列、リストなど任意のデータ型を戻り値として指定できる
- 複数の値をまとめて返すこともできる
- return文を記述しない場合、関数は自動的にNoneを返す
- for文やwhile文などのループ文でも使用でき、ループが正常に完了した場合の処理を記述できる
今は、全てわからなくても大丈夫です。実際のコードに触れることで、徐々にその特徴の意味を理解していきましょう。
【関連】
Pythonをもっと詳しく学ぶならpaizaラーニング
基本構文
Python return文の使い方は、とてもシンプルです。
重要なのは、return文は関数の中でのみ使用できるということです。関数を作るには「def」というキーワードを使って関数を定義し、その中にreturn文を書きます。
return文の後に返したい値を指定することで、その値が関数の戻り値となります。戻り値は変数に代入して後で使用したり、他の関数の引数として直接渡したりできます。
関数で処理した結果を他の場所で活用できる便利な機能なのです。
実際にコードを見て、イメージを掴みましょう。
出力結果:
ライオン
このプログラムでは、まずget_animal_name()という関数を定義しています。この関数の中では、return "ライオン"によって「ライオン」という文字列を返しています。
次に、animal = get_animal_name()で関数を呼び出し、返ってきた値(ライオン)をanimalという変数に保存します。最後にprint(animal)で「ライオン」が表示されます。
次は、引数を受け取って計算結果を返す関数の例です。関数内で処理を行い、その結果をreturn文で呼び出し元に返すことで、関数の外部でその値を活用できます。
出力結果:
イヌの年齢は21歳です
このプログラムでは、calculate_animal_age(human_years)という関数を定義しています。この関数はhuman_yearsという引数を受け取り、それに7を掛けた値をdog_yearsに保存します。
return dog_yearsによって計算結果を返し、result = calculate_animal_age(3)で関数を呼び出して返ってきた値(21)をresult変数に保存します。
最後に、その結果を使って「イヌの年齢は21歳です」と表示している流れです。
実用例
ここからは、return文を使ったコード例を見ていきましょう。どの例も身近な動物を題材にしているので、イメージしやすいはずです。
また、そのプログラムは年齢の計算、動物の判定、餌代の計算など、日常でも使えそうな処理です。
このような例を通じて、「関数で計算や判定をして、その結果を返す」というreturn文の基本的な使い方を覚えていきましょう。
return文を使いこなせるようになると、同じ処理を何度も書く必要がなくなり、プログラムがとても書きやすくなるという点も体感できるはずです。
動物の年齢計算機
ここでは、人間の年齢を動物の年齢に換算するプログラムを見てみましょう。
ペットアプリや動物管理システムでよく使われる、実用的な計算の仕組みです。
出力結果:
ネコの年齢は20歳です
convert_to_cat_age(human_age)という関数では、受け取ったhuman_ageに5を掛けてcat_ageに保存します。return cat_ageでその計算結果を返します。
age_result = convert_to_cat_age(4)で関数を呼び出すと、4 × 5 = 20という計算が行われ、20がage_resultに保存されます。
ちなみに、このコード例のf"ネコの年齢は{age_result}歳です"という書き方は、f-stringといいます。
文字列の中に変数の値を埋め込むための便利な書き方です。
特徴としては次のようなことが挙げられます。
- fを文字列の前に付けることで、f-stringになる
- {}の中に変数名を書くと、その変数の値が文字列に埋め込まれる
- 例:f"こんにちは、{name}さん"で、nameが「田中」なら「こんにちは、田中さん」と表示される
f-stringを使うと、結果をわかりやすく表示できるので、プログラムの出力が読みやすくなります。
動物の鳴き声判定
ここでは、動物の種類によって鳴き声を判断するプログラムを見てみましょう。
動物図鑑アプリや教育システムでよく使われる、基本的な判定の仕組みです。
出力結果:
イヌの鳴き声はワンワンです
get_animal_sound(animal)という関数では、animalが「イヌ」かどうかをチェックします。「イヌ」ならreturn "ワンワン"で「ワンワン」を返し、そうでなければreturn "不明な鳴き声"で「不明な鳴き声」を返します。
sound = get_animal_sound("イヌ")で「イヌ」を渡すと、条件に当てはまるので「ワンワン」がsoundに保存されます。
if文と組み合わせた実用的なコード例です。
動物の餌代計算
動物の体重によって一日の餌代を計算するプログラム例を見てみましょう。
ペット管理システムや動物園の運営管理でよく使われる計算ロジックです。
出力結果:
ウサギの餌代は500円です
calculate_food_cost(weight_kg)という関数では、受け取ったweight_kgに100を掛けてdaily_costに保存します。return daily_costでその計算結果を返します。
cost = calculate_food_cost(5)で5kgを渡すと、5 × 100 = 500という計算が行われ、500がcostに保存されます。
動物の体重判定
動物の体重から健康状態を判断するプログラムの例です。
ペットの健康管理システムや獣医診断システムでよく使われています。
出力結果:
体重判定結果: 重いゾウ
check_weight_status(weight)という関数では、weightが10より大きいかどうかをチェックします。10より大きければreturn "重いゾウ"で「重いゾウ」を返し、そうでなければreturn "軽いリス"で「軽いリス」を返します。
status = check_weight_status(15)で15を渡すと、15は10より大きいので「重いゾウ」がstatusに保存されます。
動物の速度比較
ここでは、動物の移動速度を比較して結果を返すプログラムを見てみましょう。
スポーツアプリや競技システムでよく使われるような比較処理です。
出力結果:
速度比較結果: 速いチーター
compare_speed(speed1, speed2)という関数では、speed1がspeed2より大きいかどうかをチェックします。大きければreturn "速いチーター"で「速いチーター」を返し、そうでなければreturn "遅いカメ"で「遅いカメ」を返します。
result = compare_speed(50, 30)で50と30を渡すと、50は30より大きいので「速いチーター」がresultに保存されます。
動物の寿命予測
ここでは、動物の種類から平均寿命を予測するプログラムを見てみましょう。
動物図鑑や研究システムで活用できるようなコード例です。
出力結果:
ハムスターの寿命は3年です
predict_lifespan(animal_type)という関数では、animal_typeが「ハムスター」かどうかをチェックします。「ハムスター」ならreturn 3で3を返し、そうでなければreturn 15で15を返します。
lifespan = predict_lifespan("ハムスター")で「ハムスター」を渡すと、条件に当てはまるので3がlifespanに保存されます。
動物の食事量計算
動物の体重によって適切な食事量を計算する例を見てみましょう。体重に比例した計算結果をreturn文で返します。
ペットの食事管理や動物園の飼育管理でよく使われる、実用的な計算システムです。
出力結果:
ブタの食事量は2.0kgです
calculate_food_amount(body_weight)という関数では、受け取ったbody_weightに0.1を掛けてdaily_foodに保存します。return daily_foodでその計算結果を返します。
food_amount = calculate_food_amount(20)で20kgを渡すと、20 × 0.1 = 2.0という計算が行われ、2.0がfood_amountに保存されます。
動物の成長段階判定
動物の年齢から成長段階を判断するプログラム例です。
動物の飼育管理や教育システムでよく使われる、分類処理の仕組みのイメージを掴みましょう。
出力結果:
成長段階: 子供のコアラ
determine_growth_stage(age_months)という関数では、age_monthsが12未満かどうかをチェックします。12未満ならreturn "子供のコアラ"で「子供のコアラ」を返し、そうでなければreturn "大人のカンガルー"で「大人のカンガルー」を返します。
stage = determine_growth_stage(8)で8を渡すと、8は12未満なので「子供のコアラ」がstageに保存されます。
まとめ
return文は関数から値を返すための重要な制御文です。この記事では、基本的な使い方から実際の活用例まで解説しました。
return文が活躍する場面は、次のようなケースです。
return文が活躍する場面
- 計算結果を他の処理で再利用したいとき
- 条件に応じて異なる値を返したいとき
- 処理の結果を判定や分類に使いたいとき
- データの変換や加工結果を取得したいとき
- 複数の処理で同じ計算を使い回したいとき
return文を用いる上で、押さえておきたいポイントは下記です。
重要なポイント
- return文は関数の中でのみ使用できる
- return文が実行されると、その時点で関数の処理が終了する
- 戻り値は変数に代入して後で使用できる
- 条件分岐によって異なる値を返すことも可能
- return文を書かない場合、関数は自動的にNoneを返す
初めてPythonを学ぶ方も、この記事で紹介したreturn文のコードを実際に書いてみてください。
関数の戻り値を活用する処理は、実務でもよく使用される重要な手法です。マスターすれば、その便利さに驚くはずです。
ぜひreturn文をマスターして、より実用的で効率的なプログラムを作成できるようになりましょう。