ネット上のサンプルコードや、セミナーで配布されたコードを見ていて、特殊な書き方を見て疑問に思ったことはありませんか?処理を理解するためにも知っていて損は無い&自分でも使いこなせるとベストな書き方を整理します。
可変長引数(*args, **kworgs)
複数の引数を受け取ることができる。
*args
: 複数の引数をタプルとして受け取る**kwargs
: 複数のキーワード引数を辞書として受け取る
参考:Pythonの可変長引数(*args, **kwargs)の使い方 | note.nkmk.me
変数前方のアスタリスク (*hensu)
入力値を分割して、代入することができる。
-
a,*b = [1,2,3,4,5]
一番最初の要素をaに代入。それ以降をbに代入。
参考:【Python】変数前方のアスタリスクの役割。入力値を分割し変数に代入 - Qiita
@マークから始まる行はデコレータ
@マーク直後の関数を引数として、@マークの関数を実行する。
複数の関数に同じことをしたい場合に便利。ライブラリ内の関数の機能を変更したいときなどに役立つ。
参考:【Python】"@(アットマーク)"から始まる行はどういう意味?【デコレータ】 - Knowhow,Nohow
参考書籍