プログラミングの世界では、関数という便利な道具があり、私たちの命令を正確にこなしてくれます。でも、その関数たちに「何を」「どうしてほしいか」を伝えなければ、ただの無口なロボットになってしまいます。そこで登場するのが 「引数」 です!
引数とは、関数に渡す情報であり、まるで「お菓子の注文票」のようなものです。適切に使えば、関数はあなたの意図どおりに動いてくれます。
例えば、カフェで「チョコレートクッキーを5個、ストロベリー味で」と注文する場面を考えてみましょう。
店員:「どんなお菓子をご注文ですか?」
あなた:「クッキーを5個、ストロベリー味で!」(←これが引数)
このように、関数に渡す引数をうまく活用することで、必要な情報を適切に伝え、プログラムの動作をコントロールできます。
では、一緒に引数の世界を楽しく探検していきましょう!
そもそも引数って何?
引数とは、関数やメソッドに渡す情報(データ)のことです。
たとえば、友達に「コンビニでお菓子買ってきて」とお願いするとします。
- 友達:「どんなお菓子?」
- あなた:「チョコレート!」(←これが引数)
つまり、「お菓子を買ってくる」という処理に対して、
「チョコレート」という情報を渡しているわけです。
# 関数の例
def buy_snack(snack):
print(f"{snack} を買ってきました!")
buy_snack("チョコレート")
# 出力: チョコレート を買ってきました!
引数の種類
引数にはいくつかの種類があります。これはまるで、
お菓子を注文する時の「伝え方」に似ています。
1. 位置引数(Positional Arguments)
「最初に言ったものが最も重要!」
def order_snack(quantity, flavor, snack):
print(f"{quantity}個の{flavor}味の{snack}をください!")
order_snack(5, "チョコレート", "クッキー",)
# 出力: 5個のチョコレート味のクッキーをください!
これは「数量 -> 味 -> お菓子の種類」という順番が重要な例。
順番を間違えると...
order_snack(5, "クッキー", "チョコレート") # 順番を間違えた!
# 出力: 5個のクッキー味のチョコレートをください!(???)
クッキー味のチョコレートはあるみたいなので、もう一つ例を出すと、
def order_snack(quantity, flavor, snack):
print(f"{quantity}個の{flavor}味の{snack}をください!")
order_snack( 5, "ストロベリー", "チョコレート")
# 出力: 5個のストロベリー味のチョコレートをください!
これは「数量 -> 味 -> お菓子の種類 」という順番が重要な例。
順番を間違えると...
order_snack(5, "チョコレート", "ストロベリー") # 順番を間違えた!
# 出力: 5個のチョコレート味のストロベリーをください!(???)
プログラムは順番を厳密に処理するので、間違えるとおかしな結果になります。
2. キーワード引数(Keyword Arguments)
「指定して伝えるから、順番気にしないで!」
def order_snack(snack, quantity, flavor):
print(f"{quantity}個の{flavor}味の{snack}をください!")
order_snack(quantity=10, flavor="ストロベリー", snack="マカロン")
# 出力: 10個のストロベリー味のマカロンをください!
キーワード引数を使うと、順番を気にせずに指定できるので安心です。
特に、たくさんの情報を渡す場合に便利です。
3. デフォルト引数(Default Arguments)
「言わなくても、いつものやつね!」
def order_snack(snack="ポテトチップス", flavor="塩", quantity=1):
print(f"{quantity}個の{flavor}味の{snack}をください!")
order_snack()
# 出力: 1個の塩味のポテトチップスをください!
デフォルト引数は、値が渡されなかった場合に、
自動的に設定される値のことです。
4. 可変長引数(Variable-Length Arguments)
「いくつでも持ってきて!」
def order_multiple_snacks(*snacks):
print("注文リスト:", snacks)
order_multiple_snacks("クッキー", "キャンディ", "チョコレート")
# 出力: 注文リスト: ('クッキー', 'キャンディ', 'チョコレート')
*snacks
のように *
を付けることで、
可変長引数(いくつでも引数を受け取れる)を指定できます。
まとめ
- 位置引数:順番大事!(チョコ→5→ストロベリー)
- キーワード引数:順番気にしなくてOK!(snack="クッキー")
- デフォルト引数:指定なしでも大丈夫!(ポテトチップスと塩味)
- 可変長引数:何個でも渡せる!(クッキー、キャンディ、チョコレート)
プログラミングは 「適切な注文の仕方」 を覚えることが大事!
あなたも、引数を駆使してスムーズに関数とコミュニケーションを取りましょう。