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 3 years have passed since last update.

Pythonで可変長引数を利用するには

Last updated at Posted at 2021-02-26

可変長引数とは

可変長引数とは、名前の通り長さが可変な引数である。要するに引数が固定ではなく、任意の個数を受け取ることができる。これだけではわかりかねると思うので、実際のコードを例に見ていこう。

*args

def main(*args):
  print(args) 

main(1, "one", ["one", "two"], {"one", "two"})

# 実行結果 -> (1, 'one', ['one', 'two'], {'two', 'one'})

*argsは任意の数の引数を受け取り、その内容をargsという*(アスタリスク)を外した形でアクセスすると受け取った引数をタプル型で展開してくれる。*以降は任意の文字列でもよいが、特別な理由がなければ*argsとする場合が多い。

**kwargs

def main(**kwargs):
  print(kwargs) 

main(int=1, str="one", list=["one", "two"], dict={"one", "two"})

# 実行結果 -> {'int': 1, 'str': 'one', 'list': ['one', 'two'], 'dict': {'one', 'two'}}

**kwargsは任意の数のキーワード引数を受け取り、その内容をkwargsという**(アスタリスクx2)を外した形でアクセスすると受け取った引数を辞書型で展開してくれる。こちらも**特別な理由がなければ**kwargsとする場合が多い。

実際の例

これらの可変長引数の実例を見たい場合は、Pythonのサードパーティー製のライブラリがオススメ。特にHTTPリクエスト関連でよく使うrequestsはコードリーディングをするのに最適なので、是非一度読んでみることをオススメする。

Github(psf/requests) -> https://github.com/psf/requests/tree/master/requests

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?