可変長引数 ふたつのreturnから返ってくる
def foo(*args, **kwargs): return args for k, v in kwargs.items(): return k, v ret = foo(3, {'Hello': 'World'}) # # (3, {'Hello': 'World'})
私のreturnの理解は、ひとつめのreturnで関数を抜けるでした。
def bar(arg) value = 100 if arg > value: return value return None
式が真であれば value が返りますが、return None は返らない。
しかし、可変長引数を用いた関数の場合はargs, kwargsのどちらのreturnからも返ってきています。 じゃぁと、露骨にreturnを並べてみました。
def chao(*args, **kwargs): return args return kwargs chao('chao', 'bey', {'neko': 'chatora'}) # ('chao', 'bey' , {'neko': 'chatora'})
どちらからもちゃんと返ってきます。
結論:私にはわからない
#Python実践入門 をポチった。私の印象、説明文が簡潔で頭に入ってきやすい。図はすくない。サンプルコードもまぁまぁあるし、コードもシンプルで、コメントつきなのでわかりやすい。プログラミング入門には不向きだが、入門書→なんか作る日々→本書がいいと思う。読んで実践すれば中級者に近づける。
— ほるとびぃ (@yskzksg) 2020年5月3日
Python実践入門 ── 言語の力を引き出し、開発効率を高める (WEB+DB PRESS plusシリーズ)
- 作者:陶山 嶺
- 発売日: 2020/01/24
- メディア: 単行本(ソフトカバー)