0
0

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初心者】位置引数・キーワード引数・デフォルト引数の使い分け

Posted at

Python の関数にはさまざまな引数の渡し方があります。
今回は基本である「位置引数」「キーワード引数」「デフォルト引数」の3つについて、
それぞれの意味と使い方、そしてどのように使い分けるかを整理しました。

位置引数(positional arguments)

関数を呼び出すとき、引数の順番を守って渡す方法です。
もっとも基本的な引数の渡し方です。

def greet(name, message):
    print(f"{name}さん、{message}")

greet("太郎", "こんにちは")
太郎さん、こんにちは

引数は、関数の定義に書かれた順番通りに渡されます。

キーワード引数(keyword arguments)

引数名を指定して渡す方法です。
順番を気にせず引数を渡すことができ、どの引数にどの値が渡されるかが明確になります。

def greet(name, message):
    print(f"{name}さん、{message}")

greet(message="おはよう", name="花子")
花子さん、おはよう

キーワード引数を使うと、引数の順序を気にせず明示的に渡せる点が便利です。

デフォルト引数(default arguments)

あらかじめデフォルト値を設定しておくことで、呼び出し時にその引数を省略できるようになります。

def greet(name, message="こんにちは"):
    print(f"{name}さん、{message}")

greet("次郎")           # message は省略 → デフォルト値が使われる
greet("三郎", "こんばんは")  # message を上書き
次郎さん、こんにちは
三郎さん、こんばんは

デフォルト引数は 後ろから順に設定する必要がある というルールがあります。
次のような定義はエラーになります:

# これはエラー
def greet(name="匿名", message):
    print(f"{name}さん、{message}")
SyntaxError: non-default argument follows default argument

使い分けのポイント

種類 特徴・使いどころ
位置引数 必ず渡す必要があり、順番も守る必要がある
キーワード引数 引数名を明示でき、順序を入れ替えても使える
デフォルト引数 よく使う値を省略できるようにする、オプション的な引数に便利

3つの引数の使い方をうまく組み合わせると、柔軟で分かりやすい関数が書けるようになります。

おわりに

位置引数・キーワード引数・デフォルト引数は、関数を定義するときの基本的な構文ですが、
使い方を整理してみることで、実は多くのことができるようになると感じました。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?