python lambda 使用多个参数引发变量未定义错误

标签 python python-3.x lambda

在尝试编写我理解的一行斐波那契数列时,我遇到了 fib = lambda a, b: b, a + b as "'b'未定义”

但是,当我执行 sum = a, b, c: a + b + c 时,我没有收到任何错误。 sum(1, 2, 3) 完美运行并返回 6

我研究了全局变量,发现如果我在开始前将 a 和 b 设置为 Null,它不会给我报错,但有没有办法不这样做?

最佳答案

你需要在 lambda 主体周围加上括号:

fib = lambda a, b: (b, a + b)

否则Python认为是这样的:

fib = (lambda a, b: b), a + b

顺便说一下,如果您只是要将函数分配给一个名称,那么使用 lambda 没有任何实际意义。

关于python lambda 使用多个参数引发变量未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39313318/

相关文章:

python - 如何从 Bokeh 中的数据帧制作折线图?

python - 如何比较来自两个不同字典的相同键值与百分比

python - 无法在 M1 Mac 上使用 pip3 安装 psycopg2

lambda - Lambda 函数中永远不会调用 RDS 与 Sequelize 的连接

Python + BeautifulSoup : Finding a HTML tag where an attribute contains a matched pattern of text?

python - 一行删除重复项,保持列表的顺序

python-3.x - 通过Wit.ai运行mysql查询

python - 在对象列表 Python 3 中的所有对象上调用方法的惯用方式

c++ - 在头文件中使用 lambda 函数时编译错误

java - 如何构建基于 lambda 的 Fluent 构建器?