python函数汇总:eval(str)

来源:互联网 发布:gson遍历未知json key 编辑:程序博客网 时间:2024/05/22 10:48

eval(str)函数很强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果。所以,结合math当成一个计算器很好用。

描述

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

语法

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

参数

  • expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

返回值

返回表达式计算结果。

语法

以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])

参数

  • expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

返回值

返回表达式计算结果。


eval()函数常见作用有: 
1、计算字符串中有效的表达式,并返回结果

>>> eval('pow(2,2)')4>>> eval('2 + 2')4>>> eval("n + 4")85
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、将字符串转成相应的对象(如list、tuple、dict和string之间的转换)

>>> a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]">>> b = eval(a)   字符串-列表>>> b[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]>>> a = "{1:'xx',2:'yy'}"            >>> c = eval(a)   字符串-字典>>> c{1: 'xx', 2: 'yy'}>>> a = "(1,2,3,4)">>> d = eval(a)   字符串-元组>>> d(1, 2, 3, 4)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

3、将利用repr函数转换的字符串再反转回对象

>>> list1 = [1,2,3,4,5]>>> repr(list1)'[1, 2, 3, 4, 5]'>>> type(repr(list1))<type 'str'>>>> type(eval(repr(list)))<type 'list'>>>> a = eval(repr(list1))>>> a[1, 2, 3, 4, 5]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11



原创粉丝点击