Python関数の位置引数とキーワード引数の違い

Pythonの関数を実行するときに必要な引数についての解説です。呼び出し方によって位置引数とキーワード引数に分けられます。今回はそれらの違いを見ていきましょう。

もし関数や引数の基本について知りたいという方は以下の記事をご覧ください。

関連記事

Pythonで関数の定義を行うと気に欠かせないのが引数です。単に関数の入力値と言ってもデフォルト値を持つものや持たないもの、そもそも引数がない関数などもあります。 今回はこう言った引数の基本的な内容を解説していきます。もし、「そもそ[…]

Python関数の引数とは?複数個かく方法やあり・なし・デフォルト値の違い
関連記事

プログラミングの勉強での山場の一つであるPythonの関数の解説をしていきます。引数・戻り値の解説から組み込み関数一覧まで紹介しています。 関数とは? 関数とは入力値を処理してある値を出力する装置のことを言います。ブラックボッ[…]

Pythonの関数とは?

位置とキーワードの違い

  • これらの違いは関数を実行するときの引数の渡し方による
  • 位置引数は引数の値だけを書く
  • キーワード引数は「kwarg=value」で書く

以下の関数をを様々な呼び出し方で実行してみましょう。

ここで定義されている関数の引数を覚えておきましょう。「food, drink, when=’朝’」の順番に並んでいて、「when」だけデフォルト値が設定されています。

位置引数とは

順番で値が決まる引数を位置引数と言います。以下のような順番で渡すと正しく実行できます。デフォルト値が設定されている引数は省略することができます。

それぞれ、定義された引数の順番に値が決まっていることが分かります。この順番を無視すると正しく実行されなかったり、エラーが出たります。

デフォルト値が設定されていない引数の値は必ず入力しなけばなりません。順番を間違ると一つ目のように変な出力になります。また、引数の数が足りない場合はエラーが出てしまいます。

キーワード引数とは

キーワード引数とは「kwarg=value」の形で与えられる引数のことです。イコールを使って書くことで引数の位置に縛られずに自由に書くことができます。

どの引数にどんな値を代入するのかを書く方法です。1つ目と2つ目を見ても分かるように引数の順番に関係なく正しく実行されています。また、3つ目のようにデフォルト値を上書きするときも同様に書くとできます。

以下は間違いの例です。

1行目の引数は両方とも「food」の値を書いていることになります。「コーヒー」が位置引数で「food」に渡されて、そのあとのキーワード引数も「food」に渡されているのでエラーとなります。

次の例でのエラーは「位置引数→キーワード引数の順番で書いてください」という文が表示されます。この書き方は守りましょう。

まとめ

  • 違いは関数を実行するときの引数の渡し方による
  • 位置引数は引数の値だけを書く
  • キーワード引数は「kwarg=value」で書く
  • 位置引数→キーワード引数の順番で書く
Pythonの関数に関する記事たち
5

当ブログではPython初心者が独学で習得するためのカリキュラムを公開中!

初心者がPythonを独学で習得できたロードマップはコチラ

Python関数の位置引数とキーワード引数の違いとエラー回避法
最新情報をチェックしよう!