目次
*argとは:
関数定義時に、引数を指定(まさにアスタリスクみたいなもの)しないことで、関数呼び出し時に後付けで設定したものを引数として使える。尚、必ずしもargである必要はなく、argument=引数のため、*argとなっているだけであり、*がその役割を果たす。
def shop(*arg): print(arg) #引数の中身生成 raffia = 'High' paper = 'cheap' #呼び出し shop(raffia,paper)
**kwargとは:
*argの辞書型バージョンだと認識すればOKです。kwはkeywordの略であり、それに+arg(引数)が付いた形だと思いますが、キーワードは辞書型でkeyがでてきますよね?なので辞書型引数なんでもこいとドンと構えるのが**kwargになるわけです。そして原理は同じで、**(アスタリスク2つ)がその役割を果たします。
尚、関数を呼び出す際には、辞書型のため、引数の書き方は=を使って示す必要がありますのでご注意ください。
def price(**kwarg): print(kwarg) #引数の中身生成+呼び出し price(soy=200, beans=100)