def varfun1(*args, **kwargs):
print("cnt_args = " + str(len(args)))
print("cnt_kwargs = " + str(len(kwargs)))
>>> def varfun1(*args, **kwargs):
... print("cnt_args = " + str(len(args)))
... print("cnt_kwargs = " + str(len(kwargs)))
...
>>>
>>> varfun1(11)
cnt_args = 1
cnt_kwargs = 0
>>> varfun1(11, b=22)
cnt_args = 1
cnt_kwargs = 1
>>> varfun1(11, b=22, [11,22,33])
File "<stdin>", line 1
varfun1(11, b=22, [11,22,33])
^
SyntaxError: positional argument follows keyword argument
>>> varfun1(11, b=22, c=[11,22,33])
cnt_args = 1
cnt_kwargs = 2
>>>