【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
1. def get_price(a, b): 2. print(a + b) 3. 4. print(get_price(300, 700))
上記のプログラムにおいて、return を書かない場合には None を戻り値として返すところは理解しました。
return
None
そこで、戻り値として None を返すなら print(a + b) の結果がなぜ出力されるのかが分かりません。 2 つほど前の動画の通りに行けば get_price(300, 700) 全体にマーカーがついて、これが戻り値である None に置き換わるので print(a + b) は出力されないのではないかと考えました。
print(a + b)
get_price(300, 700)
a + b の結果をプリントする関数が呼び出されて、それが print 関数の中に入っている? しかし、戻り値は None ?というところでつまずいております。
a + b
実験として、print(print(1000)) というのを試してみたのですが結果が
print(print(1000))
1000 None
でした。
これもおそらく、print 関数の戻り値は None であることを示していると思うのですが、なぜ 1000 が出力されるのかがきっと同じ理由になると思うのですが、わかりません。
なぜ、今回のプログラムで a + b の結果が出力されるのか教えていただきたいです。 よろしくお願いいたします。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
上記のプログラムにおいて、
returnを書かない場合にはNoneを戻り値として返すところは理解しました。そこで、戻り値として
Noneを返すならprint(a + b)の結果がなぜ出力されるのかが分かりません。2 つほど前の動画の通りに行けば
get_price(300, 700)全体にマーカーがついて、これが戻り値であるNoneに置き換わるのでprint(a + b)は出力されないのではないかと考えました。a + bの結果をプリントする関数が呼び出されて、それが print 関数の中に入っている?しかし、戻り値は
None?というところでつまずいております。実験として、
print(print(1000))というのを試してみたのですが結果がでした。
これもおそらく、print 関数の戻り値は
Noneであることを示していると思うのですが、なぜ 1000 が出力されるのかがきっと同じ理由になると思うのですが、わかりません。なぜ、今回のプログラムで
a + bの結果が出力されるのか教えていただきたいです。よろしくお願いいたします。