Stefan Schwarzer wrote:
> On 2014-12-21 12:37, Stefan Schwarzer wrote:
>>>> An sich würde ich aber gar nicht `kwargs` modifizieren,
>>>> sondern den Wert herausziehen:
>>>>
>>>> min_level = kwargs.pop('min_level', 1)
>>>
>>> Das modifiziert `kwargs' ebenfalls:
>>> [...]
>
> sorry, hier habe ich mir in der Tat selbst widersprochen.
>
> Als ich das schrieb, hatte ich im Sinn, `min_level` als
> Keyword-Argument mit Default zu verwenden und gar nicht in
> `kwargs` unterzubringen, aber das geht in Kombination mit
> `**kwargs` gerade nicht.
ACK. Ich fand es in der Tat befremdlich, dass sich print() an Argumenten
stört, die es nicht benutzt; sonst hätte ich **kwargs unmodifiziert an
print() weiterreichen können:
| $ python3
| Python 3.4.2 (default, Dec 2 2014, 15:08:18)
| [GCC 4.9.2] on linux
| Type "help", "copyright", "credits" or "license" for more information.
| >>> print("foo", min_level=1)
| Traceback (most recent call last):
| File "<stdin>", line 1, in <module>
| TypeError: 'min_level' is an invalid keyword argument for this function
--
PointedEars
Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.