在python中,可以检查函数是否进行函数调用,其中命名参数被称为位置参数?
例如:
def a(pos_arg, nam_arg=None, nam_arg2=None):
return "whatever"
def b():
return a(1, 2, nam_arg2="whatever")
这里,函数b调用函数a,但第二个参数是一个命名参数,它被称为位置参数。当对象继承发挥作用时,这可能会导致令人困惑的问题。
更好的是:
def b():
return a(1, nam_arg=2, nam_arg2="whatever")
出于测试目的(因为这通常是我项目中的错误代码),我想知道函数b()
是否进行此类调用。
这在python中是否可行?
答案 0 :(得分:2)
你将你的问题标记为python-2.7但是为了将来的观众我会说在python 3中我们现在有keyword-only arguments功能允许定义这样的函数:
def func(pos_arg, *, kw_only_arg):
pass
在这种情况下,kw_only_arg
仅允许用作关键字参数。
如果您不能使用python 3,那么有一个配方可以帮助您:
http://code.activestate.com/recipes/578993-keyword-only-arguments-in-python-2x/