jua*_*aga 5
您可以为此使用该inspect
模块:
import inspect
def count_positional_args_required(func):
signature = inspect.signature(func)
empty = inspect.Parameter.empty
total = 0
for param in signature.parameters.values():
if param.default is empty:
total += 1
return total
def a():pass # 0 positional arguments
def b(x):pass # 1 positional argument
def c(x=0):pass # 0 positional arguments
def d(x,y=0):pass # 1 positional argument
def e(x,y):pass # 2 positional arguments
def f(x=0,y=0):pass # 0 positional arguments
for func in [a,b,c,d,e,f]:
print(count_positional_args_required(func))
编辑:以上仅适用于非内置函数。
更多推荐
有可能,多少个,位置,参数,一个函数
发布评论