eval()函数十分强大,官方demo解释为:将字符串str当成有效的表达式来求值并返回计算结果。

so,结合math当成一个计算器很好用。

例:

eval('1+2')

>>>3

其他用法

可以把list,tuple,dict和string相互转化

1. a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"

3. b = eval(a)

5. b

6. Out[3]: [[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]

8. type(b)

9. Out[4]: list

11. a = "{1: 'a', 2: 'b'}"

13. b = eval(a)

15. b

16. Out[7]: {1: 'a', 2: 'b'}

18. type(b)

19. Out[8]: dict

21. a = "([1,2], [3,4], [5,6], [7,8], (9,0))"

23. b = eval(a)

25. b

26. Out[11]: ([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

BUT!强大的函数有代价。安全性是其最大的缺点。

想一想这种使用环境:需要用户输入一个表达式,并求值。

如果用户恶意输入,

例如:

__import__('os').system('dir')

那么eval()之后,你会发现,当前目录文件都会展现在用户前面。

那么继续输入:

open('文件名').read()

代码都给人看了。获取完毕,一条删除命令,文件消失。哭吧!

eval函数pythonmopn_python3中的 eval函数相关推荐

  1. scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例

    scala 函数中嵌套函数 Scala中的嵌套函数 (Nested functions in Scala) A nested function is defined as a function whi ...

  2. oracle中转换函数,Oracle中的转换函数

    Oracle中的转换函数有三个,分别为to_char(),to_date(),to_number() 1.to_char()的用法 格式化当前的日期时间 select sysdate,to_char( ...

  3. matlab randi 函数,MATLAB中的randi函数

    randi Pseudorandom integers from a uniform discrete distribution.来自一个均匀离散分布的伪随机整数 R = randi(IMAX,N) ...

  4. java script eval_「eval」js中的eval方法详解(一)–eval方法的初级应用 - seo实验室...

    eval 在我看来,js中的eval()方法就是一个js语言的执行器,它能把其中的参数按照javaScript语法进行解析并执行. 语法: eval(s); eval()方法中的参数s有多种情况.参数 ...

  5. php敏感函数,PHP中的敏感函数

    跟安全有关的敏感函数 在代码安全审计中,快速定位敏感函数,有助于帮助我们更快发现漏洞.这里就通过实例方式说明一下敏感函数是如何运行的. 1.eval() 该函数把字符串当做php代码来计算,并且字符串 ...

  6. java中的string函数_java中string.trim()函数的作用实例及源码

    trim()的作用:去掉字符串首尾的空格. public static void main(String arg[]){ String a=" hello world "; Str ...

  7. python里面map函数_python中的map()函数

    先来看一下官方文档: map(function, iterable, ...) Apply function to every item of iterable and return a list o ...

  8. c++find函数_Excel中八大经典函数组合,帮你整理齐了

    来源:Excel精英培训 作者:兰色幻想-赵志东 在Excel公式中,有些函数是独行侠,而有些函数经常是成对出现的,今天小编就带大家一起盘点Excel表格中八大经典函数组合. 1.IF + And 作 ...

  9. python中itemgetter函数_Python中的sorted函数以及operator.itemgetter函数

    operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=op ...

最新文章

  1. ffmpeg 压缩视频
  2. Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找规律)
  3. chromedriver@2.41.0 install: `node install.js`安装失败解决;npm安装报错
  4. 转 基于ssm的Bootstrap-table的学习演示
  5. linux redis客户端_10个 Linux 顶级开源缓存工具
  6. 力学 计算机辅助教程,实验力学课程计算机辅助教学软件
  7. 【NOIP2013提高组T3】加分二叉树
  8. [转]CMS Content Management System(内容管理系统) 提供商
  9. 25.卷1(套接字联网API)--- 信号驱动式IO
  10. ICCV 2015 揭开152层神经网络的面纱
  11. 基于SSM的家具商城系统
  12. 什么是分布式查询mysql_基础普及之什么是分布式SQL
  13. 【解决步骤】TortoiseGitPlink Fatal Error:No supported authentication methods available (server sent: publi
  14. 关于克拉默法则的一些理解
  15. python儿童-少儿Python创意编程课
  16. 苹果Mac隐藏壁纸在哪里?Mac隐藏壁纸查找教程
  17. 洛谷 P1491 集合位置
  18. oracle 11g新的后台进程
  19. 三星Galaxy折叠屏系列及生态新品:打造智能生活方式
  20. Oracle EBS R12 AP应付模块 查询发票付款信息SQL

热门文章

  1. 套接字(Windows)
  2. [转]汇编语言的准备知识--给初次接触汇编者 3
  3. ACCESS的System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误
  4. 进厂打工的大学生:每天站12个小时,4年存50万
  5. 什么是目标检测?有哪些应用?终于有人讲明白了
  6. linux band0 手动重启,band,call,apply的区别以及手动封装
  7. php类中引函数变量,一个非线性差分方程的隐函数解
  8. 重磅! SpringBoot+Sentinel+Nacos已撸完
  9. 新来个专家吐槽我们:连qps都不懂,靠谱吗?
  10. 什么?你项目还在用Date表示时间?!