Python Lambda在VSCode与Jupyter Notebook中表现差异的原因探究
Lambda表达式在Jupyter与VSCode输出差异的原因及VSCode适配写法
差异原因
这跟VSCode对Lambda的偏好写法没关系,核心是两个环境的输出机制不同:
- Jupyter Notebook是交互式笔记本环境,它会自动显示单元格中最后一个表达式的返回值,不需要额外调用打印函数。所以你直接运行
(lambda x, y=10: 2*x + y)(42)时,表达式的返回值94会被自动输出。 - VSCode里运行Python代码时,不管是执行脚本还是在交互式终端中运行,Python解释器默认不会主动打印表达式的返回值。只有当你显式用
print()函数输出结果时,才能在终端看到内容。
VSCode中的正确写法
要在VSCode中看到Lambda调用的结果,只需要显式打印返回值即可,两种常见写法:
- 直接用
print()包裹Lambda调用:print((lambda x, y=10: 2*x + y)(42)) - 先给Lambda表达式赋值,再调用并打印:
calc = lambda x, y=10: 2*x + y print(calc(42))
内容的提问来源于stack exchange,提问作者Isaac Mrowka
相关产品推荐
相关产品推荐

