python3 *args: 複数の引数をリストやタプルとして受け取る **kwargs: 複数のキーワード引数を辞書として受け取る

  • *args: 複数の引数をタプルとして受け取る
  • **kwargs: 複数のキーワード引数を辞書として受け取る

ぱっと見違和感アリアリ、というか意味わからん。

func(args[],kwargs{})じゃあ駄目なんですかい?

しかし、よくよく見てみると、*や**はポインターで合ってなくもないのかな?

例えばdef func(*args,**kwargs)

*[]で引数リスト[]の中身を参照、

func(‘name’,’ property’)なら()の中身’name’と’ property’を取りだしゃ良いわけだ。

次に(**kwargs)

kwargs={‘a’:’kintarou’ ,’b’=’gaki’}

*でキー値adic[‘a’,’b’]、**で更にその中身 {‘a’ : ‘kintarou’ ,’b’ : ‘gaki’} だから、最終的な引数は[‘kintarou’,’gaki’]というわけか。

つまり、辞書{}は**[][]的な感じと捉えればいいということなのか?

だいぶ近くなってきた気がするが、違うかもしれない。だがなんとなく覚えた(≧∇≦)b

こういうのって全然恥ずかしいこと言っていて、焦って消すといういつものパターンだろうwww