Python keyword args can be any string
Steven D'Aprano
steve at pearwood.info
Thu Feb 18 19:03:47 EST 2016
On Thu, 18 Feb 2016 06:55 pm, Mark Lawrence wrote:
> On 18/02/2016 05:42, Steven D'Aprano wrote:
>> Today I learned that **kwargs style keyword arguments can be any string:
>>
>> py> def test(**kw):
>> ... print(kw)
>> ...
>> py> kwargs = {'abc-def': 42, '': 23, '---': 999, '123': 17}
>> py> test(**kwargs)
>> {'': 23, '123': 17, '---': 999, 'abc-def': 42}
>>
>> Bug or feature?
>>
>
> I'm not sure, but what on earth got you to this in the first place?
A work colleague wanted to pass an argument starting with "-" to a function.
Apparently he didn't have a specific argument in mind. He just wanted to
test the function to breaking point by passing invalid argument names.
--
Steven
More information about the Python-list
mailing list