引数とは?意味をわかりやすく解説!(プログラミング:関数:パラメータ:簡単に:読み方:仮引数・実引数など)
プログラミングを学び始めると、「引数」という言葉に必ずといっていいほど出会います。
しかし、「引数って何?」「どう読むの?」「仮引数と実引数の違いは?」と疑問を抱える方も多いのではないでしょうか。
この記事では、引数(ひきすう)の意味や読み方から、関数・パラメータとの関係、仮引数・実引数の違いまで、プログラミング初心者の方にもわかりやすく丁寧に解説していきます。
コード例や表もまじえながら説明しますので、ぜひ最後までご覧ください。
引数とは「関数に渡す値・情報」のこと
それではまず、引数の核心となる「引数とは何か」について解説していきます。
引数とは、関数やメソッドを呼び出す際に、その関数へ渡す値や情報のことを指します。
プログラムの中で関数は、特定の処理をひとまとまりにしたブロックです。
その関数に対して「どんな値を使って処理してほしいか」を伝えるのが引数の役割といえるでしょう。
引数(ひきすう)とは、関数やメソッドを呼び出す際に渡す値・データのことです。
関数が「何をすべきか」を決める材料となる、プログラミングにおける非常に重要な概念です。
たとえば、数値を2倍にして返す関数があるとします。
このとき「どの数値を2倍にするか」を関数に伝えるために使うのが引数です。
【Python の例】
def double(x):
return x * 2
result = double(5)
この場合、「5」が引数にあたります。
上の例では、`double(5)` と関数を呼び出す際に渡している「5」が引数です。
関数はこの引数を受け取り、内部で処理を行って結果を返してくれます。
引数の読み方
引数は「ひきすう」と読みます。
「いんすう」と読んでしまう方もいますが、プログラミングの文脈では「ひきすう」が正しい読み方です。
英語では「argument(アーギュメント)」または「parameter(パラメータ)」と表現されることが多く、日本語ではどちらも「引数」と訳されるケースが一般的です。
ただし、厳密には「argument」と「parameter」は少しニュアンスが異なります。これについては後ほど詳しく確認していきましょう。
引数と関数の関係
引数は、必ず関数とセットで登場する概念です。
関数とは「ある処理をまとめた命令のブロック」であり、引数はその関数に対して「どんな情報を使って処理するか」を指定するものといえます。
関数は料理のレシピ、引数はその材料、とイメージするとわかりやすいでしょう。
レシピ(関数)が同じでも、材料(引数)が変われば、できあがる料理(結果)が変わります。
引数がない関数も存在する
すべての関数が引数を必要とするわけではありません。
引数なしで動作する関数も多く存在します。
たとえば「現在の日時を取得する」といった処理は、外部から情報を受け取る必要がないため、引数なしで実行できます。
引数の数は関数の設計によって異なり、0個の場合もあれば、複数の場合もあるのです。
仮引数と実引数の違いをわかりやすく説明
続いては、引数のなかでも特に混乱しやすい「仮引数」と「実引数」の違いを確認していきます。
引数には大きく分けて2種類あります。
「仮引数(かりひきすう)」と「実引数(じつひきすう)」です。
この2つの違いをしっかり理解することで、引数に対する理解がぐっと深まるでしょう。
仮引数(Parameter):関数を定義するときに使う「受け取り側の変数名」
実引数(Argument):関数を呼び出すときに実際に渡す「具体的な値」
以下の表でそれぞれの違いをまとめました。
| 種類 | 英語表記 | 使われる場面 | 例 |
|---|---|---|---|
| 仮引数 | Parameter | 関数の定義時 | def double(x) の「x」 |
| 実引数 | Argument | 関数の呼び出し時 | double(5) の「5」 |
仮引数とは何か
仮引数とは、関数を定義する際に設けるプレースホルダー(受け取り用の変数)のことです。
関数を定義する段階では、まだ「どんな値が渡されるか」はわかりません。
そのため、仮の名前(変数名)をつけておき、あとで渡される値を受け取れるようにしているのです。
def greet(name): ← name が仮引数
print(“こんにちは、” + name + “さん!”)
この例では「name」が仮引数です。
関数が呼び出されるまで、nameに何が入るかは決まっていません。
実引数とは何か
実引数とは、関数を実際に呼び出すときに渡す「具体的な値」のことです。
先ほどの例で言えば、`greet(“田中”)` と書いたときの「”田中”」が実引数にあたります。
実引数が渡されると、関数内の仮引数にその値がセットされ、処理が実行されます。
greet(“田中”) ← “田中” が実引数
出力:こんにちは、田中さん!
仮引数・実引数を混同しないためのコツ
「仮引数」と「実引数」は名前が似ているため、混乱しがちです。
シンプルに覚えるなら、「関数を定義するときが仮引数、呼び出すときが実引数」と意識するとよいでしょう。
英語のParameterとArgumentもそれぞれこの意味に対応しているので、英語で覚えることも一つの方法です。
日常的なプログラミングでは「引数」とひとまとめに呼ばれることも多いですが、より正確に使い分けられると理解がさらに深まります。
引数とパラメータの違い・複数の引数の使い方
続いては、引数とパラメータの関係や、複数の引数を使う場面について確認していきます。
引数とパラメータはどう違うのか
「引数」と「パラメータ」は、プログラミングの文脈でほぼ同じ意味として使われることが多いです。
しかし厳密には、パラメータ(Parameter)は仮引数を指し、引数(Argument)は実引数を指すことが多いとされています。
日本語では両方とも「引数」や「パラメータ」と訳されるため、文脈によって使い分けが必要です。
| 用語 | 英語 | 主な意味 |
|---|---|---|
| 引数(ひきすう) | Argument | 関数呼び出し時に渡す実際の値(実引数) |
| パラメータ | Parameter | 関数定義時に受け取る変数名(仮引数) |
ただし、実務やドキュメントでは「引数」と「パラメータ」が混在して使われていることも多く、あまり神経質になる必要はないでしょう。
複数の引数を渡す方法
関数には複数の引数を渡すことも可能です。
複数の引数を使うことで、より柔軟な処理を実現できます。
def add(a, b): ← a と b の2つの仮引数
return a + b
result = add(3, 7) ← 3 と 7 が実引数
出力:10
この例では「a」と「b」という2つの仮引数を定義し、呼び出し時に「3」と「7」という2つの実引数を渡しています。
引数の順番と数は、関数の定義と呼び出しで一致させることが基本です。
デフォルト引数とキーワード引数
引数にはさらに応用的な使い方として「デフォルト引数」と「キーワード引数」があります。
デフォルト引数とは、あらかじめデフォルト値を設定しておける引数のことです。
呼び出し時に値を渡さなかった場合は、デフォルト値が使われます。
def greet(name, greeting=”こんにちは”):
print(greeting + “、” + name + “さん!”)
greet(“田中”) → こんにちは、田中さん!
greet(“田中”, “おはよう”) → おはよう、田中さん!
キーワード引数は、引数名を指定して値を渡す方法です。
順番に関係なく値を渡せるため、引数が多い関数でも可読性が高まります。
引数に関するよくある疑問と注意点
続いては、引数にまつわるよくある疑問や、実際のコーディングで注意すべきポイントについて確認していきます。
引数と戻り値の違い
引数とセットで語られることが多いのが「戻り値(返り値)」です。
引数は関数に「渡す」もの、戻り値は関数から「受け取る」ものと覚えておきましょう。
| 用語 | 方向 | 説明 |
|---|---|---|
| 引数(Argument) | 呼び出し元 → 関数 | 関数へ渡すデータ |
| 戻り値(Return value) | 関数 → 呼び出し元 | 関数が処理後に返すデータ |
引数と戻り値はどちらも関数の動作を支える重要な要素です。
両者の違いを意識しながらコードを読むと、関数の役割がよりクリアに見えてくるでしょう。
引数の型に注意する
プログラミング言語によっては、引数に渡せるデータの「型(Type)」が決まっている場合があります。
たとえばJavaやC言語では、関数の定義時に引数の型を明示的に宣言する必要があります。
型が一致しない引数を渡すとエラーの原因となるため、注意が必要です。
一方、PythonやJavaScriptのような動的型付け言語では、型の指定なしに引数を渡せますが、型を意識しないとバグが発生することもあるでしょう。
引数が多すぎる場合の対処法
引数の数が増えすぎると、関数の可読性や保守性が低下します。
一般的に引数が3〜4個を超えてきたら、引数をオブジェクトや構造体にまとめることが推奨されます。
これは「引数オブジェクト」パターンとも呼ばれ、コードをすっきりさせる効果があります。
プログラムの設計(設計思想やコーディング規約)に応じて、引数の数をコントロールすることが良いコードにつながるのです。
まとめ
この記事では、引数の意味や読み方、仮引数と実引数の違い、パラメータとの関係、複数の引数の使い方、そして注意点までを幅広く解説しました。
引数とは、関数に渡すデータや値のことであり、プログラミングの基本中の基本ともいえる重要な概念です。
「仮引数は関数定義のときの変数名」「実引数は呼び出し時に渡す具体的な値」という区別をしっかり押さえておきましょう。
引数の理解が深まると、関数の設計やコードの読み書きがぐっとスムーズになります。
プログラミング学習の中で引数に迷ったときは、ぜひこの記事を見返してみてください。
基礎をしっかり固めることが、上達への一番の近道です。