■ はじめに
https://dk521123.hatenablog.com/entry/2023/10/31/000133
https://dk521123.hatenablog.com/entry/2020/05/19/000000
等ででてきた *args **kwargs について、 改めてちゃんと学ぶ
目次
【1】*args 【2】**kwargs 【3】使用上の注意
【1】*args
* args = arguments * タプル版の可変長引数 * Python での読み方は「可変長位置引数」
【2】**kwargs
* kwargs(キーアーグス) = keyword arguments * 辞書版(dict)の可変長引数 * Python での読み方は「可変長キーワード引数」
【3】使用上の注意
* *args, **kwargs 両方使う場合、*args, **kwargs の順番で。 => 逆だとエラーになる
OKケース
def demo(*args, **kwargs): print(args) # (1, 2) print(kwargs) # {'name': 'Mike'} demo(1, 2, name="Mike")
NGケース
def demo(**kwargs, *args): print(args) print(kwargs) demo(1, 2, name="Mike") # def demo(**kwargs, *args): # ^ #SyntaxError: invalid syntax
参考文献
https://qiita.com/ys_dirard/items/6009405b93c5c6ad335d
関連記事
Python ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2019/10/12/075251
Python ~ デコレータ @xxxx ~
https://dk521123.hatenablog.com/entry/2020/05/19/000000
Python ~ 基本編 / 日付・日時あれこれ ~
https://dk521123.hatenablog.com/entry/2022/02/01/000000
Python ~ 基本編 / 正規表現 ~
https://dk521123.hatenablog.com/entry/2019/09/01/000000
Python ~ 基本編 / 正規表現あれこれ ~
https://dk521123.hatenablog.com/entry/2020/10/15/000000
Python ~ 基本編 / コメント文 ~
https://dk521123.hatenablog.com/entry/2019/10/23/212149
Python ~ 基本編 / JSON ~
https://dk521123.hatenablog.com/entry/2019/10/19/104805
Python ~ 基本編 / JSONあれこれ ~
https://dk521123.hatenablog.com/entry/2022/02/14/000000