eval函数pythonmopn_python3中的 eval函数
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函数相关推荐
- scala 函数中嵌套函数_Scala中的嵌套函数 用法和示例
scala 函数中嵌套函数 Scala中的嵌套函数 (Nested functions in Scala) A nested function is defined as a function whi ...
- oracle中转换函数,Oracle中的转换函数
Oracle中的转换函数有三个,分别为to_char(),to_date(),to_number() 1.to_char()的用法 格式化当前的日期时间 select sysdate,to_char( ...
- matlab randi 函数,MATLAB中的randi函数
randi Pseudorandom integers from a uniform discrete distribution.来自一个均匀离散分布的伪随机整数 R = randi(IMAX,N) ...
- java script eval_「eval」js中的eval方法详解(一)–eval方法的初级应用 - seo实验室...
eval 在我看来,js中的eval()方法就是一个js语言的执行器,它能把其中的参数按照javaScript语法进行解析并执行. 语法: eval(s); eval()方法中的参数s有多种情况.参数 ...
- php敏感函数,PHP中的敏感函数
跟安全有关的敏感函数 在代码安全审计中,快速定位敏感函数,有助于帮助我们更快发现漏洞.这里就通过实例方式说明一下敏感函数是如何运行的. 1.eval() 该函数把字符串当做php代码来计算,并且字符串 ...
- java中的string函数_java中string.trim()函数的作用实例及源码
trim()的作用:去掉字符串首尾的空格. public static void main(String arg[]){ String a=" hello world "; Str ...
- python里面map函数_python中的map()函数
先来看一下官方文档: map(function, iterable, ...) Apply function to every item of iterable and return a list o ...
- c++find函数_Excel中八大经典函数组合,帮你整理齐了
来源:Excel精英培训 作者:兰色幻想-赵志东 在Excel公式中,有些函数是独行侠,而有些函数经常是成对出现的,今天小编就带大家一起盘点Excel表格中八大经典函数组合. 1.IF + And 作 ...
- python中itemgetter函数_Python中的sorted函数以及operator.itemgetter函数
operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2,3] >>> b=op ...
最新文章
- ffmpeg 压缩视频
- Number Theory Problem(The 2016 ACM-ICPC Asia China-Final Contest 找规律)
- chromedriver@2.41.0 install: `node install.js`安装失败解决;npm安装报错
- 转 基于ssm的Bootstrap-table的学习演示
- linux redis客户端_10个 Linux 顶级开源缓存工具
- 力学 计算机辅助教程,实验力学课程计算机辅助教学软件
- 【NOIP2013提高组T3】加分二叉树
- [转]CMS Content Management System(内容管理系统) 提供商
- 25.卷1(套接字联网API)--- 信号驱动式IO
- ICCV 2015 揭开152层神经网络的面纱
- 基于SSM的家具商城系统
- 什么是分布式查询mysql_基础普及之什么是分布式SQL
- 【解决步骤】TortoiseGitPlink Fatal Error:No supported authentication methods available (server sent: publi
- 关于克拉默法则的一些理解
- python儿童-少儿Python创意编程课
- 苹果Mac隐藏壁纸在哪里?Mac隐藏壁纸查找教程
- 洛谷 P1491 集合位置
- oracle 11g新的后台进程
- 三星Galaxy折叠屏系列及生态新品:打造智能生活方式
- Oracle EBS R12 AP应付模块 查询发票付款信息SQL
热门文章
- 套接字(Windows)
- [转]汇编语言的准备知识--给初次接触汇编者 3
- ACCESS的System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误
- 进厂打工的大学生:每天站12个小时,4年存50万
- 什么是目标检测?有哪些应用?终于有人讲明白了
- linux band0 手动重启,band,call,apply的区别以及手动封装
- php类中引函数变量,一个非线性差分方程的隐函数解
- 重磅! SpringBoot+Sentinel+Nacos已撸完
- 新来个专家吐槽我们:连qps都不懂,靠谱吗?
- 什么?你项目还在用Date表示时间?!