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高级编程视频教程免费获取