On 21/09/12 01:53, Oscar Benjamin wrote:
Mark Dickinson wrote:
def f(x): pass ... f() Traceback (most recent call last): File "<stdin>", line 1, in<module> TypeError: f() missing 1 required positional argument: 'x'
I would say that the only problem with this terminology is that it would be good to think of a word to replace "keyword-only" (positionless?).
I disagree completely. I think keyword-only is the right terminology to use for arguments which can only be passed by keyword. It is *positional* that is questionable, since named positional arguments can be given by keyword. I would like to see error messages reserve the terms: 1) "positional" for explicitly positional-only parameters; 2) "keyword" for explicitly keyword-only parameters; (I don't mind whether or not they use "-only" as a suffix) For normal, named-positional-or-keyword arguments, just use an unqualified "argument". -- Steven