python关键字eval_Python 中 eval 函数的神奇用法

Python 中 Eval 函数的用法

ambda的一般形式是关键字lambda后面跟一个或多个参数,紧跟一个冒号,以后是一个表达式。lambda是一个表达式而不是一个语句。它能够出现在Python语法不允许def出现的地方。作为表达式,lambda返回一个值(即一个新的函数)。lambda用来编写简单的函数,而def用来处理更强大的任务。

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

eval()函数常见作用有:

1、计算字符串中有效的表达式,并返回结果

Python 3.6.8 |Anaconda, Inc.| (default, Dec 29 2018, 19:04:46)

Type 'copyright', 'credits' or 'license' for more information

IPython 7.4.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: eval('1+1')

Out[1]: 2

In [2]: eval('pow(2,2)')

Out[2]: 4

In [3]: n = 10

In [4]: eval('n+1')

Out[4]: 11

In [11]: def hello():

...: print('hello')

...:

In [12]: eval('hello()')

hello

In [13]: eval('hello')()

hello

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)

3、将利用反引号转换的字符串再反转回对象

>>> list1 = [1,2,3,4,5]

>>> `list1`

'[1, 2, 3, 4, 5]'

>>> type(`list1`)

>>> type(eval(`list1`))

>>> a = eval(`list1`)

>>> a

[1, 2, 3, 4, 5]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值