我有两个函数:
def f(a,b,c=g(b)):
blabla
def g(n):
blabla
c
是函数f
中的可选参数。如果用户没有指定它的值,程序应该计算g(b),这将是c
的值。但代码无法编译 - 它说名称“b”未定义。如何修复?
有人建议:
def g(b):
blabla
def f(a,b,c=None):
if c is None:
c = g(b)
blabla
但这并不起作用。也许用户想让
c
为None,然后c
将有另一个值。
None
是Python对象。None
不是字符串'None'
。您询问是否未填写c(表示None
)才能为其设置g(b)
。给出的答案完全正确。因为用户指定None
的唯一方法是不提供第三个参数,这就是您的问题。 - user136565