質問: ある教材に次のコードが書かれていましたが、私にはそのコードで入力する理由がわからないので 分かる方いらっしゃいましたら教えてください ``` ここに言語を入力 python コード def sayhello2(name): print("こんにちは",+name+"さん") sauhello2("フタバ") 出力結果→こんにちは、フタバさん と、なりますが、私には以下のようにしても同じじゃ無いかと漠然と思っているのですが、でも、わざわざここまでコードを入力するからには理由があると思います。 print("こんにちは、フタバさん") ```
回答: 関数の用途はさまざま有りますが、分かり易いのは『繰り返し使う』パターンです。 例えば、次のようなコードを書くとします。 ``` def sayhello2(name): print("こんにちは,"+name+"さん") sayhello2("フタバ") sayhello2("ミツバ") sayhello2("ヨツバ") ``` さて、あいさつの文言を変えることになりました。 この場合関数だけ作り替えれば済みます。 ``` def sayhello2(name): print("ごきげんよう,"+name+"さん") sayhello2("フタバ") sayhello2("ミツバ") sayhello2("ヨツバ") ``` 三行くらいなら全部書き換えても面倒ではないですが、もし関数を100回呼び出していたら? ...考えたくもありませんね。 このように、 * 再利用し易くする * 後から変更し易くする という目的があるのだと思います。 何でもかんでも関数にすれば良いというわけではありませんが、 機能を分割できるときには関数に切り出しておくと見通しが付き易くなることが多いです。