为什么 python Lambda 不能在 VSCode 中工作? VSCode 与 Jupyter Notebook 有何不同?
来自物理中的有效计算书中有这个 Lambda 示例:
(lambda x, y=10: 2*x + y)(42)
Jupyter Notebook 的结果是:
94
同时 VSCode 没有输出,VSCode 是否更喜欢某种 lambda 方法?为什么?
不,它们使用 Python 运行相同的功能。它根本不是 VSCode 或 Jupyter 独有的。
这本质上是运行编译器或解释器之间的区别:
对于 VSCode 或编译器,如果您希望它打印某些内容,则必须使用 print 函数输出它。当然,它的计算结果确实是 94,但它不会用它做任何事情。
print((lambda x, y=10: 2*x + y)(42))
这就足够了。
对于 Jupyter 来说,它是一个解释器。相当于在命令行上运行
python
并在计算机上启动本机解释器,它将输出您给出的表达式的计算结果。
正如你所说,它打印出 94。
====== 附录:
从技术上讲,VSCode 是一个集成开发环境 (IDE),您可能会在其中使用编译器。