27
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonの引数はこう使う!お菓子のオーダーで楽しく理解しよう

Last updated at Posted at 2025-01-26

プログラミングの世界では、関数という便利な道具があり、私たちの命令を正確にこなしてくれます。でも、その関数たちに「何を」「どうしてほしいか」を伝えなければ、ただの無口なロボットになってしまいます。そこで登場するのが 「引数」 です!

引数とは、関数に渡す情報であり、まるで「お菓子の注文票」のようなものです。適切に使えば、関数はあなたの意図どおりに動いてくれます。
例えば、カフェで「チョコレートクッキーを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="クッキー")
  • デフォルト引数:指定なしでも大丈夫!(ポテトチップスと塩味)
  • 可変長引数:何個でも渡せる!(クッキー、キャンディ、チョコレート)

プログラミングは 「適切な注文の仕方」 を覚えることが大事!
あなたも、引数を駆使してスムーズに関数とコミュニケーションを取りましょう。

27
26
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?