python *args, **kwargs 使い方メモ

langQ / 2024-03-04 / 原文

python *args, **kwargs 使い方メモ

参考的文章:
https://qiita.com/studio_haneya/items/40be89b384c5b6da5f68

何ができるのか
いくつ来るか分からない引数をまとめて受け取れます。

位置引数
*args にtupleで入ります

python
def test(*args, **kwargs):
    print(args)
    print(kwargs)

test(1, 2, 'hoge')
output
(1, 2, 'hoge')
{}

キーワード引数
**kwargs にdict()で入ります。

python
def test(*args, **kwargs):
    print(args)
    print(kwargs)

test(1, 2, 3, 4, 5, col=4, row=5)
output
(1, 2, 3, 4, 5)
{'col': 4, 'row': 5}

該当する引数がない場合
空のtuple()と空のdict()になります。

python
def test(*args, **kwargs):
    print(args)
    print(kwargs)

test()
output
()
{}