eval SyntaxError:python 中的语法无效 [英] eval SyntaxError: invalid syntax in python
本文介绍了eval SyntaxError:python 中的语法无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想分配:
x0='123'x1='123'x2='123'x3='123'x4='123'x5='123'x6='123'x7='123'x8='123'x9='123'
我写代码是为了表示当输入x1
或x8
时,我可以得到一个字符串123
的输出.
for i in range(0,10):eval("x"+str(i)+"='123'")回溯(最近一次调用最后一次):文件<stdin>",第 2 行,在 <module>文件",第 1 行x0='123'^语法错误:无效语法
我怎么能这样做?
解决方案
对于语句的动态执行,请使用 exec
函数:
eval
用法:eval(expression)
.
expression
参数被解析并计算为 Python 表达式.
例如:
<预><代码>>>>s = 3>>>eval('s == 3')真的>>>eval('s + 1')4>>>评估('s')3>>>eval('str(s) + "test"')'3test'I want to assign :
x0='123'
x1='123'
x2='123'
x3='123'
x4='123'
x5='123'
x6='123'
x7='123'
x8='123'
x9='123'
I write the code to express that i can get the output of a string 123
when input x1
or x8
.
for i in range(0,10):
eval("x"+str(i)+"='123'")
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<string>", line 1
x0='123'
^
SyntaxError: invalid syntax
How i can do that way?
解决方案
For dynamic execution of statements use the exec
function:
>>> exec('y = 3')
>>> y
3
eval
usage: eval(expression)
.
The expression
argument is parsed and evaluated as a Python expression.
e.g.:
>>> s = 3
>>> eval('s == 3')
True
>>> eval('s + 1')
4
>>> eval('s')
3
>>> eval('str(s) + "test"')
'3test'
这篇关于eval SyntaxError:python 中的语法无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文