python - *args 可以在关键字参数之后使用吗

标签 python

我有一个函数,它使用 kwarg 调用另一个函数以确定是否应该调用它:

def a(val):
    print(val)

def caller(func, call_it=True, *args, **kwargs):
    if call_it:
        func(*args, **kwargs)

# doesnt work
caller(a, 1)

# works
caller(a, True, 1)

call_it 参数有默认值但仍需要 *args 的情况下如何处理?

最佳答案

不可以,关键字参数不能放在普通参数之前。一个有效的签名应该是 caller(func, *args, call_it=True, **kwargs)

关于python - *args 可以在关键字参数之后使用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63200783/

相关文章:

python - python 切片语法 [o :, :] 是什么意思

python - 从账单列表生成独特的组合,汇总到特定值

python - 为什么 '$pull' 在 cherrypy 中不起作用

python - python 中的垃圾回收会自动进行吗?

python - 如何使用正则表达式匹配包含两个反斜杠的字符串

python - "Regrouping"来自嵌套字典的数据

python - 将 Python 正则表达式转换为 Shell

python - 如何使用 matplotlib 绘制 pyaudio 输入?

python - 当 pip.conf 在别处指定时,为什么 pip 试图访问 pypi.python.org?

python - sklearn : scaling x (data) and y (target) using both Pipeline and TransformedTargetRegressor