Liquidsのロゴ Liquids

0

キーワード専用引数について【Python】

Python

Pythonでは以下のようにして関数を定義します。

def func(a, b, c):
    print(a, b, c)

この関数では引数名で指定して渡すこともできますし、順に引数を渡すこともできます。

def func(a, b, c):
    print(a, b, c)
    
func(1, 2, 3)
# 1 2 3
func(1, 2, c=3)
# 1 2 3

1つ目の呼び出しではcを引数の位置でしていますが、2つ目の呼び出しではcをキーワードで呼び出しています。

Pythonでは、2つ目のようなキーワードによる呼び出し専用の引数を定義することができます。

これがキーワード専用引数です。

キーワード専用引数を定義するには、キーワード専用引数の前に*を記述します。

つまり、*以降の引数はキーワード専用引数になります。

def func(a, b, *, c):
    print(a, b, c)

この例ではcがキーワード専用引数です。cはキーワードで指定して値を渡さなければなりません。

キーワード専用引数を利用した関数の呼び出し例を見てみましょう。

def func(a, b, *, c):
    print(a, b, c)

func('hello', 3, c='Keyword only!') # OK
# hello 3 Keyword only!

func('hello', 3, 'This is NG') # NG キーワードで指定していない

func('hello', 3) # NG 引数が足りない
Liquidsのロゴ Liquids

Liquidsは誰でも投稿・編集ができる技術Wikiコミュニティ📝です。

あなたもLiquidsで技術Wikiを
書いてみませんか?