python的eval()函数

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.
发布了14 篇原创文章 · 获赞 8 · 访问量 990

猜你喜欢

转载自blog.csdn.net/Atao_tao/article/details/104168931