Could someone explain the differences to me? Aren't all arguments "keyword arguments"? They all have names, and can all be assigned by that name instead of the position. Do keyword arguments mean ones with default values? (Note: I'm talking about pure python, no C)
Thanks.
EDIT: I just realized there's two types of each:
def func(*args, **kwargs): ----> args: positional kwargs:keyword
res = calc(1, 3, spam="eggs") ----> 1, 3: positional spam="eggs": keyword
I was talking about the second, but thinking of it being decided in the implementation, not the method call.