缘起

小例子

def test_1(val):
print "val", val, type(val) def test_2(val):
print "val", val, type() if __name__ == "__main__":
for i in [, ]:
eval("test_" + str(i))(i)

执行结果

val  <type 'int'>
val <type 'int'>

分析:利用eval函数,把字符串“test”和“1”组合成函数名test_1(test_2同样),挺神奇的,第一次见到这么用。

eval函数

eval()将字符串str当成有效的表达式来求值并返回计算结果

例子1

>>> x =
>>> y =
>>> print eval("x+y")

例2

>>> a = "{'a':1, 'b':[1, 2, 3]}"
"{'a':1, 'b':[1, 2, 3]}"
>>> eval(a)
{'a': , 'b': [, , ]} >>> print type(eval(a))
<type 'dict'>

危险性

备份下:http://blog.donews.com/soarnil/archive/2007/02/28/1134203.aspx

最新文章

  1. Beta阶段第三次Scrum Meeting
  2. oracle ORA-00001:违反唯一约束条件
  3. 使用Window Live Writer写博客
  4. CPU卡及NFC供应商
  5. poj 3487 稳定婚姻
  6. ASP.NET Core 源码学习之 Options[4]:IOptionsMonitor
  7. 学习笔记-----php搭建用户管理系统
  8. POJ 3167 Layout(差分约束)
  9. java====color、font、button、label、textfield、textarea使用
  10. DOS界面下的翻译软件制作
  11. Nginx 请求的11个阶段
  12. python split 的应用
  13. ThinkPhp5 出现访问出现 No input file specified. 问题
  14. B-number 数位dp
  15. 01++ Bookshelf 2
  16. openstack 之~keystone之网关协议
  17. 洛谷P3225 HNOI2012 矿场搭建
  18. format格式
  19. 创建窗口句柄时出错(error creating window handle)
  20. 在MVC3中修改KindEditor实现上传图片到指定文件夹

热门文章

  1. POJ 3468 A Simple Problem with Integers(线段树区间更新区间查询)
  2. ci实现RBAC,详细解释原理和核心代码显示
  3. cURL 学习笔记与总结(2)网页爬虫、天气预报
  4. WampServer 在 httpd.conf 中配置多站点 (IP 配置法:不用每次修改 hosts 文件 + 域名配置法 )
  5. XPath学习:parent,child
  6. The Dataflow Model 论文
  7. Nginx目录别名(Alias)支持PHP的配置
  8. Nginx return 关键字配置小技巧
  9. AppleScript
  10. 将对象转换成Dictionary 字典