21.Python中的eval函数

21.Python中的eval函数,第1张

《Python编程的术与道:Python语言进阶》视频课程
《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618

eval函数

eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。


即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。


list_str = "[1,5.0,7,8,2]"
list_eval = eval(list_str)

print(type(list_eval))
print(list_eval)
print(list_eval[0])
print(list_eval[1])

[1, 5.0, 7, 8, 2]
1
5.0
x = input("see this...")
print(x)
see this...5>4
5>4
check_this_out = eval(input("code:"))
code:5>4
print(check_this_out)
True

评估只会评估代码,而不会编译。


例如,下述代码将不起作用:

eval("if True: print('yep!')")
Traceback (most recent call last):


  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)


  File "", line 1, in 
    eval("if True: print('yep!')")


  File "", line 1
    if True: print('yep!')
     ^
SyntaxError: invalid syntax
eval("if 5>4: print('yep!')")
Traceback (most recent call last):


  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3326, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)


  File "", line 1, in 
    eval("if 5>4: print('yep!')")


  File "", line 1
    if 5>4: print('yep!')
     ^
SyntaxError: invalid syntax
eval("5>4")
True

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存