python - 为什么这在 Python 中不可能?

标签 python

def myfunc(a,b=2):
    print("Called with", a, b)
    return
p1 = functools.partial(myfunc, b=4)
p1("foobar", 4)

为什么在运行最后一行时出现语法错误?如果我这样做,它会起作用:myfunc("foobar", 4)

最佳答案

'partial' 已经将 'b' 设置为 4;如果你想要另一个值,你应该明确设置参数'b':

>>> p1("foobar")
('Called with', 'foobar', 4)

>>> p1("foobar", b=5)
('Called with', 'foobar', 5)

关于python - 为什么这在 Python 中不可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10141907/

相关文章:

python - 使用OpenCV删除车牌边框(python)

python - grequests 以什么方式异步?

python - 如何从该应用程序中调用 Python Bottle API

python - 如何从字符串中删除字典中对应的单词?

python - 在 Azure Web 应用程序中安装 psycopg2

python - 从列表中获取最后一个非无值的 Pythonic 方法是什么

python - 字典和列表的排序问题

python - 如何描述整个矩阵或 Pandas 数据框

python - 使用 python 请求中断流式下载大文件

Python Matplotlib 样式文件 : show only horizontal gridlines