[Python-Dev] PEP 3102: Keyword-only arguments
Michael Urman
murman at gmail.com
Fri May 5 15:20:02 CEST 2006
On 5/5/06, Terry Reedy <tjreedy at udel.edu> wrote:
> At present, Python allows this as a choice.
Not always - take a look from another perspective:
def make_person(**kwds):
name = kwds.pop('name', None)
age = kwds.pop('age', None)
phone = kwds.pop('phone', None)
location = kwds.pop('location', None)
...
This already requires the caller to use keywords, but results in
horrid introspection based documentation. You know it takes some
keywords, but you have no clue what keywords they are. It's as bad as
calling help() on many of the C functions in the python stdlib.
So what allowing named keyword-only arguments does for us is allows us
to document this case. That is an absolute win.
Michael
--
Michael Urman http://www.tortall.net/mu/blog
More information about the Python-Dev
mailing list