<div dir="ltr">I could see this being an option, but to someone unfamiliar with it, it might seem strange that * unpacks iterables, ** unpacks dicts, and *** is a special thing only for keyword arguments that mostly behaves like **.<br><br>On Friday, April 12, 2019 at 11:26:37 AM UTC-4, Bruce Leban wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir="auto"><div><div><br></div><div class="gmail_quote"><div dir="ltr">On Fri, Apr 12, 2019, 8:12 AM Viktor Roytman <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="fXIy7bv3AwAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">viktor...@gmail.com</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><br></div><div>    >>> func(**{'a': 1, 'b': 2})<br>    Traceback (most recent call last):<br>      File "<stdin>", line 1, in <module><br>    TypeError: func() got an unexpected keyword argument 'b'</div></div></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Perhaps func(***kws)?</div><div dir="auto"><br></div><div dir="auto">I think this is a real problem given the frequent convention that you can freely add fields to json objects with the additional fields to be ignored.</div><div dir="auto"></div></div>
</blockquote></div>