Pythonを学び始めると、同じような処理を何回も書きたくなる場面が出てきます。
そのときに役立つのが関数です。
この記事では、関数の細かい書き方に入る前に、なぜ関数を使うのかを初心者向けにわかりやすく説明します。
この記事でわかること
完成コード(まず見てみよう)
# あいさつを表示する関数を作ります
def show_greeting():
print("おはようございます")
print("今日もPythonを練習しましょう")
# 同じ処理を2回呼び出します
show_greeting()
print("---")
show_greeting()コードの実行結果は次の通りです。
おはようございます
今日もPythonを練習しましょう
---
おはようございます
今日もPythonを練習しましょうこのコードはそのまま実行できます。
同じ表示処理を何度も書かずに、関数を呼び出すだけで再利用できることがわかります。
テーマの説明(やさしく)
関数は、処理をひとまとめにして名前をつけたものです。
よく使う作業を「あとで呼び出せる形」にしておくイメージです。
関数を使う大きな理由は、同じ処理を何度も書かなくてよくなることです。
同じ内容を何回も手で書くと、書き間違いが増えたり、あとで修正するときに全部直す必要が出てきます。
もう1つの理由は、コードの見通しがよくなることです。
長いコードでも、処理ごとに関数へ分けると「何をしているか」を読み取りやすくなります。
具体例・補足説明
まずは、関数を使わない例を見てみます。
print("売上レポート")
print("合計: 1200円")
print("担当: 田中")
print("売上レポート")
print("合計: 980円")
print("担当: 佐藤")この書き方でも動きますが、売上レポート の表示部分など同じ形の処理が繰り返されています。
行数が増えるほど、どこを直せばよいか見つけにくくなります。
次は、共通部分を関数にまとめたイメージです。
def show_report(total, staff):
print("売上レポート")
print("合計:", total, "円")
print("担当:", staff)
show_report(1200, "田中")
show_report(980, "佐藤")この段階では細かい文法を全部覚えなくて大丈夫です。
ここで大切なのは、「よく使う処理を名前で呼べるようにすると整理しやすい」という考え方です。
関数のメリットは、表示だけでなく計算でも感じやすいです。
たとえば、税込価格を何回も計算したい場面を考えてみます。
def calc_tax_included_price(price):
total = int(price * 1.1)
return total
apple_price = calc_tax_included_price(100)
bread_price = calc_tax_included_price(180)
print("りんご(税込):", apple_price, "円")
print("パン(税込):", bread_price, "円")コードの実行結果は次の通りです。
りんご(税込): 110 円
パン(税込): 198 円このように、同じ計算ルールを1か所にまとめておくと、金額が変わっても呼び出すだけで使い回せます。price や return の詳しい意味は次の 6-3 引数と戻り値 で学べば大丈夫です。ここでは「関数は計算の部品としても使える」とつかめれば十分です。
おじちくワンポイント
関数を学ぶ前は、まず重複しているコードを見つけるクセをつけると理解が早くなります。
「同じ形の処理を2回以上書いているかも」と感じたら、関数でまとめられないかを考えてみるのがおすすめです。
よくある勘違い・注意点
練習問題
問題1
同じあいさつを3回表示するコードを、最初は print() をそのまま3回書いて作ってみてください。次に、その処理を関数にまとめて呼び出す形に書き直してみてください。
問題2price を受け取り、10%の税込価格を返す関数を作ってみてください。100 と 250 を渡して結果を表示し、同じ計算をくり返し使えることを確認してみてください。