提问人:L0Lock 提问时间:2/17/2023 最后编辑:ShadowRangerL0Lock 更新时间:2/17/2023 访问量:61
print(*myVar) 语法无效
print(*myVar) invalid syntax
问:
尝试尽可能简单地在各个行上打印列表项,如下所示:
https://www.geeksforgeeks.org/print-lists-in-python-4-different-ways/
>>> myVar = [1, 2, 3, 4, 5]
>>> print(*myVar)
File "<stdin>", line 1
print(*myVar)
^
SyntaxError: invalid syntax
我必须使用 Python 2.7.8,所以我想我必须在没有的情况下翻译它,但我失败了:()
>>> print *myVar
File "<stdin>", line 1
print *myVar
^
SyntaxError: invalid syntax
那么,这是一个语法问题吗?或者有没有更好的方法可以在 v2.7.8 上做到这一点?
答:
3赞
ShadowRanger
2/17/2023
#1
Python 2 的语句不支持参数解包(因为它不是一个函数,所以它没有参数),但即使在 Python 2 中,您也可以选择使用 Python 3 的函数,方法是将以下内容添加到文件的最顶部(我相信,除了 shebang 行和文件编码注释之外的任何行;__future__
导入很奇怪,并且由于它们会更改编译器行为,因此它们需要在任何其他代码之前发生):print
print
from __future__ import print_function
一旦你这样做了,该语句就不再存在于该脚本中,你可以正常使用 Python 3 的函数,例如,对于你想要的任务,每行打印一个值,你会这样做:print
print
myVar
print(*myVar, sep='\n')
评论
0赞
L0Lock
2/17/2023
这听起来非常有趣。明天会尽快尝试上班,并让你知道。无论如何,谢谢!
0赞
L0Lock
2/17/2023
所以。。。。它在我的终端上完美运行,但在需要此脚本并使用相同 python 版本的软件中无法正常运行。我想我必须做一个for循环x)
0赞
ShadowRanger
2/18/2023
@L0Lock:你们是在 2.6 之前的 Python 版本上运行的吗?因为导入应该在 2.6 及更高版本的早期 alpha 版本中工作。__future__
0赞
L0Lock
2/18/2023
在我运行此脚本的软件中运行表明它正在使用 python 2.7.8(使用 beta 版本时为 2.7.11)。但是,这不是第一次应该在该 python 版本上运行的东西在该软件中不起作用,我想有些东西被阻止了。print(sys.version)
评论