カテゴリ: Python 更新日: 2025/09/13

Pythonの引数の使い方!デフォルト引数・可変長引数・キーワード引数の違い

Pythonの引数の使い方!デフォルト引数・可変長引数・キーワード引数の違い
Pythonの引数の使い方!デフォルト引数・可変長引数・キーワード引数の違い

先生と生徒の会話形式で理解しよう

生徒

「Pythonの関数で引数っていろいろな種類があるみたいですが、違いがよく分かりません…」

先生

「引数には、デフォルト引数・可変長引数・キーワード引数といった種類があります。それぞれ特徴や使い方が違いますよ。」

生徒

「なんだか難しそうですが、順番に教えてもらえますか?」

先生

「もちろんです。順に例を交えながら説明しますね!」

-

1. デフォルト引数とは?

1. デフォルト引数とは?
1. デフォルト引数とは?

デフォルト引数とは、関数の引数にあらかじめ値を設定しておき、省略された場合にその値を使う仕組みです。例えば、あいさつ文を出力する関数で、名前を指定しなければ「ゲスト」と表示するようにできます。


def greet(name="ゲスト"):
    print(f"こんにちは、{name}さん!")

greet()
greet("太郎")

こんにちは、ゲストさん!
こんにちは、太郎さん!

デフォルト引数を使うと、引数が省略されたときの挙動を簡単に指定できます。

2. 可変長引数(*args)とは?

2. 可変長引数(*args)とは?
2. 可変長引数(*args)とは?

可変長引数は、受け取る引数の数が決まっていない場合に使います。関数の定義で引数名の前に*を付けると、複数の値をタプルとして受け取れます。


def show_items(*items):
    for item in items:
        print(item)

show_items("りんご", "みかん", "バナナ")

りんご
みかん
バナナ

これにより、引数の数が不定のときでも柔軟に対応できます。

3. キーワード引数(**kwargs)とは?

3. キーワード引数(**kwargs)とは?
3. キーワード引数(**kwargs)とは?

キーワード引数は、引数名と値をペアで受け取る仕組みです。引数名の前に**を付けると、複数の名前付き引数を辞書型として受け取れます。


def show_profile(**info):
    for key, value in info.items():
        print(f"{key}: {value}")

show_profile(name="太郎", age=20, city="東京")

name: 太郎
age: 20
city: 東京

辞書型で受け取れるので、柔軟なデータ構造をそのまま関数に渡せます。

4. 引数の組み合わせ

4. 引数の組み合わせ
4. 引数の組み合わせ

デフォルト引数・可変長引数・キーワード引数は、同じ関数で組み合わせて使うこともできます。ただし、引数の並び順には注意が必要です。

  • 通常の引数
  • デフォルト引数
  • 可変長引数(*args
  • キーワード引数(**kwargs

def order(item, quantity=1, *extras, **options):
    print(f"商品: {item}, 数量: {quantity}")
    print("追加オプション:", extras)
    print("詳細設定:", options)

order("コーヒー", 2, "ミルク", "砂糖", size="L", temperature="hot")

商品: コーヒー, 数量: 2
追加オプション: ('ミルク', '砂糖')
詳細設定: {'size': 'L', 'temperature': 'hot'}

このように組み合わせることで、複雑な注文や設定もシンプルに記述できます。

-

5. 初心者が覚えるべきポイント

5. 初心者が覚えるべきポイント
5. 初心者が覚えるべきポイント
  • デフォルト引数は省略時の値を設定できる
  • 可変長引数(*args)は複数の値をまとめて受け取れる
  • キーワード引数(**kwargs)は辞書型で名前付きデータを受け取れる
  • 引数の順番に注意(通常 → デフォルト → *args → **kwargs)

これらを理解すれば、関数をより柔軟に使いこなせるようになります。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
New1
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
New2
PHP
PHPのスコープとは?グローバル・ローカル・スーパーグローバルを完全解説!
New3
PHP
PHPの演算子をやさしく解説!算術・比較・論理・ビット演算子の使い方
New4
PHP
PHP の変数とは?基本的な使い方とデータ型を徹底解説!
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで辞書のキー・値・アイテムを取得する方法(keys(), values())
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.4
Java&Spring記事人気No4
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.5
Java&Spring記事人気No5
Python
PythonでExcelファイル(.xlsx)を操作する方法を徹底解説!初心者でもできるopenpyxl・pandasの使い方
No.6
Java&Spring記事人気No6
PHP
PHPで画像ファイルをアップロードする方法を初心者向けに徹底解説!わかりやすい画像処理入門
No.7
Java&Spring記事人気No7
PHP
PHP の日付と時間の取得(date, time, strtotime)を完全解説!初心者でもわかる使い方
No.8
Java&Spring記事人気No8
PHP
PHP のデータ型を完全ガイド!初心者でもわかる int, string, float, bool など
-
-