python中eval()函数的作用及使用方法

eval()函数就是实现list、dict、tuple、与str之间的转化:

示例:

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

eval()函数在Python中的作用:

1、字符转换为列表:

a =[[1,2], [3,4], [5,6], [7,8], [9,0]]print(type(a))
b = eval(a)print(type(b))
print(b)

2、字符串转换为字典

a = "{1: 'a', 2: 'b'}"
print(type(a))b = eval(a)
print(type(b))
print(b)

3、字符转换为元组

a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
print(type(a))b=eval(a)
print(type(b))
print(b)

语法:

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

参数:

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

遇到的问题

line.strip().decode(encoding_type)
Out[14]: '"2'
eval(line.strip().decode(encoding_type))
Traceback (most recent call last):
  File "D:\python3.8.5\lib\site-packages\IPython\core\interactiveshell.py", line 3418, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-15-ed3cf673db78>", line 1, in <module>
    eval(line.strip().decode(encoding_type))
  File "<string>", line 1
    "2
     ^
SyntaxError: EOL while scanning string literal
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值