0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】printとreturnの違い - 関数の戻り値がないときの挙動まとめ

Last updated at Posted at 2025-04-28

Pythonを学び始めたころ、関数の挙動が思っていたのと違って戸惑ったことがありました。
特に print() と return の違いが曖昧なままだと、「ちゃんと表示されているのに None が出てきた!」と驚くことがあります。

この記事では、関数の戻り値がないときにどうなるかを具体的なコード例をもとに整理しておきます。

例:printとreturnの違いを見てみよう

以下のコードをご覧ください。

def show_total(price)
    tax = 5
    print("合計金額:", price + tax)

total_price = 100
print(show_total(total_price))
実行結果
合計金額: 105  
None

「表示はされてるのに、なぜ None が出てくるの?」と感じた方は、以下の解説をチェックしてみましょう。

解説:printは表示、returnは値を返す

このコードでは、次のような流れで処理が行われています。

  1. show_total(total_price) を呼び出すと、関数内の print() によって "合計金額: 105" が表示される
  2. しかし、show_total() 関数には return がないため、戻り値は None
  3. print(show_total(total_price)) によって None も表示されてしまう

つまり:

  • print() は「画面に表示」するだけ
  • return を使わない限り、関数は自動的に None を返す

修正例:値を返すようにするには?

def calculate_total(price):
    tax = 5
    return price + tax

total_price = 100
print("合計金額:", calculate_total(total_price))
実行結果
合計金額: 105

このように、関数に return を使うと戻り値が返されるので、None は表示されません。

他の例:戻り値がない関数はすべてNoneを返す

def greet(name):
    print(f"{name}さん、こんにちは!")

message = greet("田中")
print("関数の戻り値:", message)
実行結果
田中さん、こんにちは!
関数の戻り値: None

このように、return を書かない関数は、明示的に何も返していないように見えても、内部的には None を返しています。


✅ まとめ:printとreturnの違いを押さえよう

項目 説明
print() コンソールに表示するだけ(戻り値なし)
return 関数の「戻り値」を指定する
戻り値省略 None が返される

関数の戻り値に関しては、動かしてみるまでは意外と実感が湧きにくい部分でした。
今回のような「表示されるけど None が返る」といった違和感を何度か経験して、ようやく print() と return の役割の違いが腑に落ちてきたように思います。

📚 参考リンク

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?