我有一些代码来测试我编写的其他代码(在 ipython 笔记本中)。
print_closest = lambda w, wl: print('{}: {} ({})'.format(w, *closest_match(w, wl)))
这是我的代码,它适用于 python 3 环境。但是,它不适用于 python 2.7。相反,它会在下面抛出一个错误。
print_closest = lambda w, wl: print('{}: {} ({})'.format(w, *closest_match(w, wl)))
^
SyntaxError: invalid syntax
我想对上面的代码进行更改,以便使其在 python2.7 环境以及 python3 环境下工作。
谁能告诉我怎么做吗?提前致谢。
最佳答案
在Python 2中,print
是一条语句,而不是一个函数(作为一个函数,使用它将是一个表达式)。 lambda
只能包含表达式,不能包含完整语句。
也就是说,您可以在 Py2 上获得 Py3 print
功能。在要切换的模块中,将以下内容添加为文件中的第一行代码(在任何 shebang 或编码注释之后,在其他所有内容之前):
from __future__ import print_function
关于python - 打印语句 python 2.7 上的语法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40245669/