Python解释器内置了许多函数,这意味着我们无需定义,始终可以用它们。下面按照函数的字母顺序,讨论一些常用的内建函数。eval作为Python的一个内置函数,在实际工作中能够让你事半功倍,但是如果使用不恰当,则有可能会导致你的系统遭到破坏。本文就带大家来看看怎么用它
eval()函数解析传给它的表达式,并在程序中运行Python表达式(代码)。举个例子:
>>> x = 1
>>> eval("x + 1") # 注意:"x + 1"是字符串
2
>>> eval("4 < 9")
True
>>> eval("'py' * 3")
'pypypy'
>>> eval("10 ** 2")
100
eval()函数不仅仅能运行简单表达式,还能调用函数,使用方法等等:
>>> eval("abs(-11)") # 计算-11的绝对值
11
>>> eval('"hello".upper()') # 把字符串'hello'全变成大写字母
'HELLO'
>>> import os
>>> eval('os.getcwd()') # 获取当前的工作目录
'/home/thepythonguru'
但是需要注意的是eval()仅适用于表达式,尝试传递语句会导致语法错误:
>>> eval('a = 1') # 赋值语句
Traceback (most recent call last):
File "", line 1, in
File "", line 1
a = 1
^
SyntaxError: invalid syntax
>>> eval('import re') # 导入语句
Traceback (most recent call last):
File "", line 1, in
File "", line 1
import re
^
SyntaxError: invalid syntax
此外,使用eval()语句应该十分小心,永远不要将不受信任的源直接传递给eval()。 因为恶意用户很容易对您的系统造成破坏。 例如:
>>> eval(input()) # eval()将执行用户输入的代码
用户输入以下代码就能从系统中删除所有文件:
os.system("RM -RF /")
# 上面输入相当于执行:
>>> eval('os.system("RM -RF /")')
以上就是“”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料

- 本文固定链接: http://phpxs.com/post/8528/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取