スポンサーリンク

Pythonの関数を幼稚園児にもわかるように解説

Python

私:Pythonの関数を幼稚園児にもわかるように教えて。
チャットGPT先生:もちろんです!幼稚園児でもわかるように、Pythonの関数についてシンプルに説明しますね。

関数ってなに?

関数は、**「お料理のレシピ」**みたいなものです。
やりたいこと(例えば、ケーキを作る)が決まっていたら、そのための「手順」をまとめておくものです。
例えば、ケーキを作るためには「材料を用意する」「混ぜる」「焼く」という手順がありますよね?
この「手順」をPythonでまとめて書くのが「関数」です。

どうやって関数を書くの?

Pythonで関数を作るときは、**「def」**という言葉を使います。
これは「この関数を作るよ!」って教える合図です。

関数の作り方(例: ケーキを作る)

def 作るケーキ():
print("材料を用意するよ!")
print("材料を混ぜるよ!")
print("オーブンで焼くよ!")

これで「ケーキを作る手順」をまとめた関数「作るケーキ()」ができました!

関数を使ってみる

作った関数を使うときは、関数の名前を書けばいいんです。

作るケーキ()

結果

材料を用意するよ!
材料を混ぜるよ!
オーブンで焼くよ!

お友達に好きなケーキを聞いてみよう(引数を使う)

でも、ケーキにはいろんな種類がありますよね?
「イチゴのケーキ」もあれば「チョコケーキ」もある!
そこで、「どんなケーキが欲しいか」を教えてもらうようにしましょう。
関数に引数
という「お手紙」を渡します。

def 作るケーキ(種類):
print(f"{種類}のケーキを作るよ!")

関数を使うときに種類を教えてあげます

作るケーキ("イチゴ")
作るケーキ("チョコ")

結果

イチゴのケーキを作るよ!
チョコのケーキを作るよ!

焼き上がったケーキを返してもらおう(戻り値を使う)

ケーキを焼いたら、「焼けたよ!」って教えてほしいですよね?
関数に「焼けたケーキ」を返してもらうようにします。

def 作るケーキ(種類):
print(f"{種類}のケーキを作っているよ!")
return f"{種類}のケーキができたよ!"

ケーキを受け取る

できあがり = 作るケーキ("イチゴ")
print(できあがり)

結果

イチゴのケーキを作っているよ!
イチゴのケーキができたよ!

たくさんのケーキを作りたい!(いくつでも渡せる引数)

「今日はお友達の分も作りたい!」というとき、たくさんの種類を渡せるようにしましょう。

def 作るケーキ(*種類たち):
for 種類 in 種類たち:
print(f"{種類}のケーキを作るよ!")

使ってみる

作るケーキ("イチゴ", "チョコ", "バニラ")

結果

イチゴのケーキを作るよ!
チョコのケーキを作るよ!
バニラのケーキを作るよ!

お片付けルール(ベストプラクティス)

  • 名前をわかりやすくする:
    関数の名前は「何をするか」を教えてくれるものにしましょう。 例えば「作るケーキ」ではなく「a」や「b」だと、何をしているかわかりませんよね?

  • 1つのことだけをやる:
    「ケーキを作る」関数に「掃除をする」手順が入っていたらおかしいです!
    関数は1つの目的だけを持つようにしましょう。

関数の範囲がわからない

私:どこからどこまでが関数なのかわからないんだけど、関数を閉じる時ってどうするの?
チャットGPT先生:Pythonでは、関数を閉じるための特別なキーワード(例: end)などはありません。その代わりに、**インデント(字下げ)**を使って「ここまでが関数」という範囲を決めます。

関数の範囲の見方

  1. defキーワードで関数を定義します。
    • これが関数の始まりです。
  2. インデントされた部分が「関数の中身」です。
    • 通常はスペース4つ分のインデントを使います。
  3. インデントが終わる(元の位置に戻る)と、そこが関数の終わりです。

例: 関数の範囲を確認する

def あいさつ():
print("こんにちは!") # ここは関数の中

print("これは関数の外") # インデントがないので、関数の外
  • **print("こんにちは!")**はインデントされているので関数の中。
  • **print("これは関数の外")**はインデントされていないので関数の外。

インデントがわかりにくい場合の例

def あいさつ():
print("おはよう!") # 関数の中
print("こんにちは!") # 関数の中
print("こんばんは!") # 関数の中

print("関数の外です!") # インデントがないので関数の外

この場合、関数の中身はインデントされている3行だけです。
print("関数の外です!")はインデントがなく元の位置に戻っているので、関数の外になります。

Pythonのルール: インデントが命!

  • Pythonでは、インデントを使うことで「どこからどこまでがグループか」を示します。
  • 関数だけでなく、if文やループでもインデントで範囲を示します。

◆間違った例(インデントが不統一)

def あいさつ():
print("おはよう!") # インデントがないのでエラー

この場合、インデントがないためエラーになります。

関数の中にさらに処理を書く場合

関数の中でも、インデントを使ってさらにネスト(階層化)できます。

◆例: 関数内に条件分岐

def あいさつ(時間):
if 時間 < 12: # 条件が成り立つ場合
print("おはようございます!") # 関数と条件の両方の中
else:
print("こんにちは!") # 関数と条件の両方の中

# 関数の呼び出し
あいさつ(10) # おはようございます!
あいさつ(15) # こんにちは!

わからなくなったときの対策

  1. インデントに注意:
    • 関数の中は必ずインデントを入れる(通常スペース4つ)。
    • 関数の外に出るときはインデントを戻す。

  2. エディタの補助機能を活用:
    • VS CodeやPyCharmなどのエディタでは、インデントミスを自動で指摘してくれます。
    • 必要に応じて「インデントガイドライン(点線)」を有効にすると便利です。

  3. 関数を短くする:
    • 関数が長すぎると範囲がわかりにくくなるので、短くまとめましょう。

最後に

Pythonの関数は、「何かをするための手順」をまとめたものだと覚えておいてください!
ケーキを作る例を参考にして、ぜひいろんな手順を作ってみてくださいね!
by チャットGPT先生

タイトルとURLをコピーしました