我是编程的新手,我一直坚持这个问题,非常想要一些帮助!
我的函数中的一个参数是可选的,但可以根据另一个函数采用多个默认值。两个函数都采用相同的输入(以及其他)。当我尝试使用如下所示的功能分配默认值时:
def func(foo):
# returns different values of some variable k based on foo
def anotherFunc(foo, bar, k=func(foo)):
# this is the same foo input as the previous function
我收到以下错误:
NameError: name 'foo' is not defined
问题是,用户可以使用他们想要的任何“k”值调用“anotherFunc”,这会使事情复杂化。有没有办法让一个带有参数的函数作为另一个函数的参数?或者我有什么方法可以根据之前的功能设置多个默认值'k',同时仍允许用户根据需要选择自己的'k'?
谢谢!
答案 0 :(得分:0)
你可能想做类似的事情:
%userprofile%\.docker\machine\machines\default
答案 1 :(得分:0)
foo
充当第一个函数参数的占位符。在调用函数之前它没有任何值,可以在函数体中访问它的值,如下所示:
def another_func(foo, bar, k=None):
if k is None:
k = func(foo)
...