eval()函数——将字符串当成有效的表达式来求值并返回计算结果
>>> eval("1+9")
10
>>> eval("'*'*10")
'**********'
使用eval()函数时要注意引号的使用,最外部使用双引号内部就是用单引号,最外部使用单引号内部就是用双引号,否则会报错(如下):
>>> eval(''*' * 10')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
eval(''*' * 10')
TypeError: can't multiply sequence by non-int of type 'str'
将字符串转化为列表或字典:
>>> type(eval("[1,2,3,4,5]"))
<class 'list'>
>>> type(eval("{'name':'atao','age':'6'}"))
<class 'dict'>
函数文档
>>> help(eval)
Help on built-in function eval in module builtins:
eval(source, globals=None, locals=None, /)
Evaluate the given source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.