プログラミングの用語一覧へ
このページの目次

引数とは?

最終更新:2026/08/18

3秒でわかる

関数を呼び出すときに渡す値のこと。受け取る側の仮引数に対応づけて処理へ持ち込み、同じ処理を違う値で何度も使い回せるようにします。

もう少し詳しく

どういうものか

引数は、関数を呼び出すときに渡す値です。厳密には、呼び出す側が書く値を実引数、関数の定義側で受け取る名前を仮引数と呼び分けます。関数の中では、仮引数はその関数の中だけで通じる変数として扱われます。

渡し方は言語ごとに種類があります。Python なら、順番で対応させる位置引数、名前を指定して渡すキーワード引数、省略できるデフォルト引数、個数が決まらない可変長引数が使えます。

なぜ必要か

引数がなければ、扱う値ごとに関数を書き直すことになります。税込み価格を求める処理は一つで足り、変わるのは金額と税率だけです。変わる部分を引数として外に出しておくと、処理は一箇所にまとまり、修正も一箇所で済みます。

キーワード引数には別の効き目もあります。呼び出し側のコードだけを見て、その値が何を意味するのかが読めるようになります。

具体例

def price_with_tax(amount, rate=0.1, *, round_down=True): total = amount * (1 + rate) return int(total) if round_down else total print(price_with_tax(1000)) # 位置引数だけ print(price_with_tax(1000, 0.08)) # 税率を位置で print(price_with_tax(1000, rate=0.08)) # 税率を名前で print(price_with_tax(1000, round_down=False)) # 名前指定が必須の引数

アスタリスク以降は名前を書かないと渡せません。真偽値のような、呼び出し側で意味が読めない値をこの位置に置くと、読みやすさが上がります。

つまずきやすいところ

デフォルト値に空のリストや辞書を書くのが有名な罠です。デフォルト値は関数の定義時に一度だけ作られ、呼び出しのたびに作り直されません。前回の呼び出しで追加した要素が次の呼び出しにも残ります。

def add_item(item, cart=<a href="/glossary/none" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">None</a>): if cart is None: cart = [] cart.append(item) return cart

None を既定にして、中で作り直すのが定石です。

もう一つ、渡した変数そのものが書き換わるかどうかの理解です。数値や文字列を渡した場合、関数の中で代入しても呼び出し側の変数は変わりません。リストや辞書を渡して中身を追加した場合は、呼び出し側からも変化が見えます。関数が引数を書き換える設計は事故のもとなので、新しい値を返す形にしておくと安全です。

覚え方

「関数の中で変わる部分だけを外から渡す」。何を引数にするかを決めることは、その関数の役目を決めることでもあります。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地引数プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Python入門:基礎文法編

74レッスン
コース

JavaScript入門:コードを動かす

23レッスン
コース

Python中級 内包表記・高階関数・クラス入門

58レッスン
Pythonコースの全編を見る