Bの5, 6について 5と6がわかりにくい pythonの関数呼出では, name = valueとして呼び出せるけれど, def func(name)だけでは, 関数呼出側が, name = valueにするか, valueだけで渡すのか自由にできる. そうすると当然コードにばらつきが出てくる. で, それを解消しようとして3系からそれを強制するsyntaxができた(たぶん). 5について 5 はname = valueを強制するものと, そうでないものを共存させることができる. 下記では, cだけ, name = valueの形式を強制する. In [18]: def kwonly(a, *b ,c): ....: print(a, b, c) ....: In [19]: kwonly(1,2,3) ------------------------------------------