A new "positional only arguments" syntax has been introduced in 3.8.
From Positional-only parameters in the documentation:
There is new syntax (
/) to indicate that some function parameters must be specified positionally (i.e., cannot be used as keyword arguments). This is the same notation as shown byhelp()for functions implemented in C (produced by Larry Hastings’ Argument Clinic tool).
From http://northtexasroofing.net/article/10509084.shtml:
Now
pow(2, 10)andpow(2, 10, 17)are valid calls, butpow(x=2, y=10)andpow(2, 10, z=17)are invalid.
My question is, why ever use this syntax?
Why is it better for the code's user?
It seems to me that this makes it harder for users to specify what their arguments actually mean, if they so desire.
Why make it harder on the user?
I am clearly missing something.