栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

浅谈Python的eval函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅谈Python的eval函数

目录

(一)概述

(二)格式

参数

(三)实例

1. 返回字符串计算结果

2. 字符串与列表以及数字类型的转换

(1)转列表

(2). 转浮点数/整数

(3). 转字符串(不可行,会失败)


(一)概述

       在Python中有一个很有趣的内置函数eval,用于执行一个字符串表达式,并返回表达式的计算结果,同时它还可以把字符串类型的表达式转化为列表/数字(当然不能自转为字符串,因为已经是字符串了。除此之外还能转换成字典/元祖,此文中就不再复述)

(二)格式
eval(expression[, globals[, locals]])

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

(三)实例

1. 返回字符串计算结果
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

2. 字符串与列表以及数字类型的转换

(1)转列表
>>> a_list='[1,2,3,4,5]'
>>> print(type(a_list))

>>> b_list=eval(a_list)
>>> print(b_list)
[1, 2, 3, 4, 5]
>>> type(b_list)

>>>

(2). 转浮点数/整数
##转浮点
>>> a='1.2'
>>> a1=eval(a)
>>> print(a1)
1.2
>>> type(a1)





##转整数
>>> b='1'
>>> b1=eval(b)
>>> print(b1)
1
>>> type(b1)

(3). 转字符串(不可行,会失败)
>>> c='zyylmn'
>>> c1=eval(c)
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 1, in 
NameError: name 'zyylmn' is not defined

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号