def sign_nargs(fun): return sum([y.default is inspect._empty for x,y in inspect.signature(fun).parameters.items() if x != 'self'])