【发布时间】:2016-08-18 03:00:03
【问题描述】:
我试图在右边的默认参数值内使用下面函数中左侧参数的值。
def function(var, vartwo = var*2):
return vartwo
print(function(7)) #should print 14
print(function(7,6)) #should print 6
但是我得到 NameError: name 'var' is not defined。在 Python 的默认参数值中不能使用参数的值吗?你会建议我如何解决这个问题?
【问题讨论】:
-
好吧,您需要传递实际的“默认值”,它不能是先前声明的另一个参数的名称。 def function(var, vartwo = 'blabla'): return vartwo 应该可以工作
-
另一件事 - 如果您需要第二个参数始终作为第一个参数 - ui 认为您根本不需要第二个参数, def function(var): vartwo = var return vartwo 是同样在这里。或者如果你解释为什么你需要第二个参数这么糟糕,因为从这个上下文中不清楚
-
我编辑了问题以更好地解释上下文。
标签: python