将任何字符串作为python表达式求值:

eval()方法:

eval(source[, globals[, locals]]) -> value
Evaluate the source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.

用法:

>>> eval('1+1==2')
True
>>> eval('1+1==3')
False
>>> eval('9567+1085 == 10652')
True
>>> eval('"A"+"B"')
'AB'
>>> eval('"MARK".translate({65:79})')
'MORK'
>>> eval('"AAAAA".count("A")')
>>> eval("x*5",{}, {})
Traceback (most recent call last):
File "<pyshell#120>", line 1, in <module>
eval("x*5",{}, {})
File "<string>", line 1, in <module>
NameError: name 'x' is not defined >>> eval("x*5",{"x":x},{})
25 >>> import math
>>> eval("math.sqrt(x)",{"x":x},{})
Traceback (most recent call last):
File "<pyshell#123>", line 1, in <module>
eval("math.sqrt(x)",{"x":x},{})
File "<string>", line 1, in <module>
NameError: name 'math' is not defined

注:

给eval()函数传递的第二、第三个参数担当了求值表达式是全局和局部名字空间的角色

eval()是不安全的,为了安全的求值不受信任的表达式,需要定义一个将"__builtins__"映射为none的全局名字空间字典。在内部,“内建”函数包含在一个叫“__builtins__"的伪模块内。

re.findall() -- 返回字符串中所有字母

set() --  返回字符串中所有不同的字母

最新文章

  1. DEVExpress GridControl|TableView |FormatConditions 按一定格式设置相应内容
  2. linux命令-cp/scp {拷贝}
  3. Visual Studio 2013 错误提示“未找到与约束匹配”的修正
  4. JAVA多线程之间共享数据BlockingQueue介绍
  5. PHP验证邮箱地址代码
  6. GTD桌面2.0
  7. BestCoder Round #60 1001
  8. (转载)设计模式学习笔记(十一)——Facade外观模式
  9. 一种轻量的openresty路由设计
  10. Activiti工作流学习-----基于5.19.0版本(2)
  11. C# WebForm 使用NPOI 2 生成简单的word文档(.docx)
  12. Adnroid Studio使用技巧
  13. 两种最常用的Sticky footer布局方式
  14. luogu P1003 铺地毯
  15. 洛谷P4590 [TJOI2018]游园会(状压dp LCS)
  16. POJ 3264 线段树入门解题报告
  17. php优秀框架codeigniter学习系列——CI_Security类学习
  18. Android 简单布局、控件
  19. Mongodb 分组查询例子
  20. struts和hibernate整合

热门文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍
  2. 三个不常用的HTML元素:&lt;details&gt;、&lt;summary&gt;、&lt;dialog&gt;
  3. 理清JavaScript正则表达式--下篇
  4. Sass:初识Sass与Koala工具的使用
  5. window.name实现的跨域数据传输
  6. Linux平台 Oracle 11gR2 RAC安装Part1:准备工作
  7. Java语言中的面向对象特性总结
  8. SHA-256算法
  9. Struts2配置国际化资源
  10. Mac下启动和停止Mysql服务