python 字符串表达式_python执行字符串表达式eval

* 作者:煮酒品茶 tea

* 博客:http://www.zwhset.com http://cwtea.blog.51cto.com

* 目前在京峰教育担任python讲师

#0、python代码执行eval

> eval最常见的就是把字符转类型转换成一些python内置类型,如果需要把代码层的也转换的话需要用到exec函数

#1、函数原型

~~~

eval(...)

eval(source[, globals[, locals]]) -> value #返回一个值

这个souce可以是python的表达式或者是一个complie()对象

globals参数必须是一个字典

locals可以是一个zipping

~~~

#2、样例

~~~

In [6]: a = (1,2,3)

In [7]: b = {'name':'zwhset','age':14}

In [8]: eval(a) # 转化一种元组类型,参数传入错误

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

in ()

----> 1 eval(a)

TypeError: eval() arg 1 must be a string or code object

In [9]: c = str(a) # 对元组a转换成字符串并赋值给c

In [10]: d = str(b)

In [13]: c,d

Out[13]: ('(1, 2, 3)', "{'age': 14, 'name': 'zwhset'}")

In [14]: eval(c) #eval..

Out[14]: (1, 2, 3)

In [15]: eval(d)

Out[15]: {'age': 14, 'name': 'zwhset'}

In [16]: type(eval(d)) #执行字符串表达式转换变成一个字典

Out[16]: dict

In [17]: e = 'g = 1' # 一个语句

In [18]: eval(e) # 用eval执行一个语句,python代码出错,需要用到后面的exec方法。

File "", line 1

g = 1

^

SyntaxError: invalid syntax

~~~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值