【发布时间】:2019-08-28 02:16:11
【问题描述】:
在正常情况下,通过省略这些参数来调用带有默认参数的函数。但是,如果我在动态生成参数,省略一个并不总是容易或优雅的。有没有办法显式使用函数的默认参数?也就是说,传递一个指向默认参数的参数。
除了将~use default~ 替换为智能的东西之外,其他类似的东西。
def function(arg='default'):
print(arg)
arg_list= ['not_default', ~use default~ ]
for arg in arg_list:
function(arg=arg)
# output:
# not_default
# default
我什至不知道这是否可能,并且考虑到“默认参数”一词,我的所有搜索都是编码器第一个教程。如果不支持此功能也没关系,我只是想知道。
【问题讨论】:
-
我没有尝试过,但我认为应该可以动态实例化
partialobject。看看functools.partial。 -
如果您正在动态生成参数,您不是对所有参数都有价值吗?为什么不能直接使用它们?
-
你的目标函数是否只有 1 个可以取多个值的参数?如果您确实需要深入了解目标功能并且您不提前了解它们或不拥有该功能,则可以查看 inspect 模块。 stackoverflow.com/questions/12627118/…