python - 如何使用可选参数调用python函数

标签 python optional-parameters

我有以下功能:

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/

相关文章:

c# - OptionalAttribute 参数的默认值?

python - 没有默认值的可选参数

C# : overloading constructors with optional parameters & named arguments?

c# - C# 4 中的重载分辨率和可选参数

python - 如何在Python脚本执行时检查bash shell脚本的状态?

python - 如何使用 matplotlib 和 SVM 算法向图形(数据集)添加边界?

python - IndexError尝试在python中数值求解差分方程

c# - 通过反射调用带有可选参数的方法

python - 在 python 中重新分配变量

python - 如何为 tkinter 框架添加阴影?