「関数の処理結果を print で表示するのと、 return で返すの、何が違うの?画面に出るならどっちも一緒じゃないの?」
と疑問を持たれた方も多いのではないでしょうか?
画面上に計算結果が表示されるだけであれば、どちらを用いても同じように見えてしまうことがあります。
しかし、実務における業務自動化やデータ集計では、関数で算出した結果を別の計算や次の処理へ引き渡す場面が頻繁に発生します。今回は、print文とreturn文の明確な役割の違いを整理し、実務で役立つ戻り値の正しい活用方法について解説します!
printとreturnの根本的な役割の違い
print文とreturn文の相違点は、データの送り先に注目すると直感的に把握しやすいです。
- print文: 画面上に文字列や数値を表示し、人間が視覚的に確認するための機能となります。
- return文: 計算や加工を終えた結果をデータとして関数の呼び出し元へ戻し、プログラムの次の処理で利用するための機能となります。
これを私たちの日常のオフィス業務に例えて考えてみましょう。
上司から見積書の消費税額について質問を受けたと仮定します。
その場で口頭で金額を伝えるのがprint文の役割です。相手に金額は伝わりますが、その発言自体を直接書類に貼り付けたり、電卓に入力して合算したりすることはできませんよね。その場限りの情報伝達となります。
一方で、算出された消費税額を付箋に記入して相手に手渡すのがreturn文の役割です。付箋を受け取った相手は、その数値をそのまま見積書に転記したり、商品本体の価格と足し合わせて合計請求額を算出したりと、後続の業務につなげることができます。
Pythonで自動化ツールを作成する際も同様に、計算した値をさらに別の集計に利用したり、ExcelやCSVファイルへ書き込んだりしたい場合には、return文を用いて値を手渡す必要があります。
実践コードで学ぶprintとreturnの挙動比較
消費税額を計算し、商品価格と合算して最終的な請求金額を算出する具体的なプログラムを見てみましょう。
print文を用いた場合の問題点
まずは、関数内でprint文のみを使用した場合の例です。
# printを用いた関数の定義
def calc_tax_print(price):
tax = price * 0.1
print(tax) # 画面に税額を表示して処理が終了します
# 後続の計算で利用しようとするとエラーが発生します
total = 10000 + calc_tax_print(10000)
# TypeError: unsupported operand type(s) for +: 'int' and 'NoneType'
calc_tax_print関数は画面に数値を表示するものの、関数としての戻り値を指定していないため、Pythonの仕様上None(値が存在しない状態)が返されます。
その結果、数値とNoneの足し算をしようとしてTypeErrorが発生してしまいます。
return文を用いた正しいデータ連携
次に、return文を用いて戻り値を返す適切な記述方法です。
# returnを用いた関数の定義
def calc_tax_return(price):
tax = price * 0.1
return tax # 計算結果をデータとして呼び出し元へ渡します
# 戻り値を変数で受け取り、次の計算へ連携します
product_price = 10000
tax_amount = calc_tax_return(product_price) # 計算結果を受け取ります
total = product_price + tax_amount # 商品価格と合算して総額を計算します
print(f"商品の価格: {product_price}円")
print(f"消費税額: {tax_amount:.0f}円")
print(f"ご請求金額: {total:.0f}円")
calc_tax_return関数が算出した税額データを受け取ることで、その後の足し算処理を正常に実行できます。
このように、処理結果を別の関数や計算式へバトンタッチしたいときは、必ずreturn文を活用するのが基本となります。
業務自動化における戻り値の重要性
関数を部品として独立させ、戻り値を受け渡す構造を取り入れることで、プログラムの再利用性と保守性は大幅に向上します。
例えば、売上データの税計算処理を一度return形式で関数化しておけば、個別見積書の作成だけでなく、一覧表の一括集計や請求書PDFの自動発行スクリプトなど、様々な後続処理へ柔軟に組み込むことが可能となります。
画面への表示にとどまらず、次の処理へとデータを着実に引き継ぐ設計を意識することで、実務に耐えうるツールの開発につながります。ぜひ試してみてください!
Pythonの本は種類が多すぎて、業務効率化に使えるのか見分けるのが大変ですよね。実務自動化に5年以上携わってきた私が、「デスクワークの自動化に即戦力になった本」を厳選して紹介します。失敗しない1冊を見つけたい方は、ぜひ参考にしてみてください。

コメント