有一个函数具有参数的默认值:
def g(y, z = "default"):
print y, z
我想从函数“f”调用这个函数,除其他外还应该包含一个参数“z”,它应该是可选的,即“f”的用户应该能够在有或没有提供的情况下调用“f” “z”的值。如果他调用“f”而不在参数列表中传递“z”,“f”应该调用“g”,以便最后使用“z”的默认值。用作默认值的值(在本例中为“默认”)在代码中应该只出现一次。
有一个函数具有参数的默认值:
def g(y, z = "default"):
print y, z
我想从函数“f”调用这个函数,除其他外还应该包含一个参数“z”,它应该是可选的,即“f”的用户应该能够在有或没有提供的情况下调用“f” “z”的值。如果他调用“f”而不在参数列表中传递“z”,“f”应该调用“g”,以便最后使用“z”的默认值。用作默认值的值(在本例中为“默认”)在代码中应该只出现一次。
Use **kwargs
:
def f(**kwargs):
g("fixed-y", **kwargs)
f() # prints "fixed-y default"
f(z='mushroom') # prints "fixed-y mushroom"
听起来您的主要目标是确保"default"
在代码中只出现一次。
def g(y, z = None):
if z is None:
z = "default"
print y, z
def f(y, z = None):
g(y, z)