我有以下功能:
def create(self, name, page=5, opt1=False, opt2=False,
opt3=False,
opt4=False,
opt5=False,
opt6=False,
*parameters):
是否可以只分配一个可选参数和一些*参数?例如
create('some name', opt4=True, 1, 2, 3) # I need 1, 2, 3 to be assigned to *parameters
大多数时候,我不需要更改 opt1...opt6 的值,我只需要更改其中一个,并分配一些其他的 *parameters
。因此,如果我不想更改其默认值,我正在寻找一种避免设置 opt1...opt6 的方法。
最佳答案
当然这不是很好, 但你可能可以处理这个的变体
def create(name, page=5, opt1=False, opt2=False,
opt3=False,
opt4=False,
opt5=False,
opt6=False,
*parameters):
print(parameters)
print(page)
print(opt4)
myArgs = dict(zip(['page','opt1','opt2','opt3','opt4','opt5','opt6'],create.func_defaults))
myArgs['opt4']=True
create("MyName",**myArgs)
关于python - 如何使用可选参数调用python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31356215/