概述
eval() 函数在其他编程语言中也存在,它的作用也是大同小异,它执行一个字符串表达式,并返回表达式的值。
eval(expression[, globals[, locals]])
expression -- 表达式(准确的说 expression参数将被处理为一个python的表达式)。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
globals 、locals默认是None,这俩参数有点复杂,本节先不讨论这2个参数,看个例子。
# -*- coding: utf-8 -*-
s1 = '3 + 5'
print(eval(s1))
8
看起来似乎很简单,但是很容易犯3个错误,比如试图用eval函数定义几个变量、直接传入无效字符串、传入合法字符串报错,如下:
错误一
# -*- coding: utf-8 -*-
s1 = 'a=2'
print(eval(s1))
Traceback (most recent call last):
File "D:/pyscript/py3script/selenium测试/test.py", line 4, in print(eval(s1))
File "", line 1
a=2
^
SyntaxError: invalid syntax
错误二
# -*- coding: utf-8 -*-
print(eval("034"))
Traceback (most recent call last):
File "D:/pyscript/py3script/test.py", line 3, in print(eval("034"))
File "", line 1
034
^
SyntaxError: invalid token
错误三
# -*- coding: utf-8 -*-
a = 'pythn66'
print(eval(a))
Traceback (most recent call last):
File "D:/pyscript/py3script/test.py", line 3, in print(eval(a))
File "", line 1, in NameError: name 'pythn66' is not defined
原因是什么呢?记住这个错误,下节课专门说一下。
最后
以上就是聪明日记本为你收集整理的pythoneval函数错误_python的eval()函数及常见错误的全部内容,希望文章能够帮你解决pythoneval函数错误_python的eval()函数及常见错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复