def func(**kwargs):
for key, value in kwargs.items():
# Is key always going to be a string?
# Could it have spaces?
pass
Two qu
The keywords in kwargs should follow the rules of variable names, full_name is a valid variable name (and a valid keyword), full name is not a valid variable name (and not a valid keyword).
From PEP 362 -- Function Signature Object:
A Parameter object has the following public attributes and methods:
name : str
- The name of the parameter as a string. Must be a valid python identifier name (with the exception ofPOSITIONAL_ONLYparameters, which can have it set toNone.)
And, from the Docs:
2.3. Identifiers and keywords:
... Within the ASCII range (U+0001..U+007F), the valid characters for identifiers are the same as in Python 2.x: the uppercase and lowercase lettersAthroughZ, the underscore_and, except for the first character, the digits0through9. ...