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?

More than 1 year has passed since last update.

Pythonでよく使うargsとkwargsについてまとめる

Posted at

argsとkwargs

PythonでDjangoなどのフレームワークを使っていると、関数やクラスの引数にargsとkwargsがよく出てくる。改めてまとめてみる。

kwargsがある場合とない場合でどう違うか?

以下のような関数があったとする。

def some_function(arg1, arg2):
		print(arg1, arg2)

この場合、some_functionを呼び出す際には、arg1arg2の2つの引数を指定する必要がある。例えば、以下のようにして呼び出すことができる。

some_function(10, 20)

しかし、この関数にkwargsを追加すると、任意の数のキーワード引数を指定することができる。例えば、以下のようにして呼び出すことができる。

some_function(10, 20, key1="value1", key2="value2")

この場合、key1key2はキーワード引数であり、arg1arg2とは別の引数として扱われます。しかし、kwargsがない場合は、キーワード引数を指定することができないため、上記のような呼び出し方はできません。

また、kwargsがある場合は、kwargsに指定されたキーワード引数を辞書として受け取ることができます。このため、kwargsを使用すると、可変長のキーワード引数を取り扱うことができます。

kwargs はkwのように任意の文字列に置き換えられる。が、混乱を招くかもなので、kwargsでいいかと。。。

0
0
1

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?