私: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
)などはありません。その代わりに、**インデント(字下げ)**を使って「ここまでが関数」という範囲を決めます。
関数の範囲の見方
def
キーワードで関数を定義します。- これが関数の始まりです。
- インデントされた部分が「関数の中身」です。
- 通常はスペース4つ分のインデントを使います。
- インデントが終わる(元の位置に戻る)と、そこが関数の終わりです。
例: 関数の範囲を確認する
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) # こんにちは!
わからなくなったときの対策
- インデントに注意:
- 関数の中は必ずインデントを入れる(通常スペース4つ)。
- 関数の外に出るときはインデントを戻す。
- エディタの補助機能を活用:
- VS CodeやPyCharmなどのエディタでは、インデントミスを自動で指摘してくれます。
- 必要に応じて「インデントガイドライン(点線)」を有効にすると便利です。
- 関数を短くする:
- 関数が長すぎると範囲がわかりにくくなるので、短くまとめましょう。
最後に

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