Python eval()函数详解

一、eval()函数

       用来执行一个字符串表达式,并返回表达式的值。可以把字符串转化为list,dict ,tuple。

二、eval()函数源码

三、eval()函数语法

 eval(*args, **kwargs)

 说明:

  • expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果写,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果写,可以是任何映射对象。
  • return:返回表达式计算结果。

     

    四、eval()函数的应用

     1、使用eval()函数,将字符串还原为数字类型,和int()函数的作用类似

    # 1.使用eval()函数,将字符串还原为数字类型,和int()函数的作用类似
    a = input()
    print(type(a))
    #利用eval()将字符串类型转为整形
    print(type(eval(a)),type(int(a)))

     

      2.将输入的字符串转为对应的数据类型:如列表、元组、字典

    # 2.将输入的字符串转为对应的数据类型:如列表、元组、字典
    # [1,2,4]
    # (1, 2, 4)
    # {'a':1,'b':2}
    a = input()
    n = eval(a)  # 得到一个列表
    print(type(n),type(a))

     3.对表达式的结果进行计算,返回计算后的值

    # 3.对表达式的结果进行计算,返回计算后的值
    ss1 = "5*8"
    num=90
    print(eval(ss1), eval("pow(3,2)"),eval('num+10'))

      

     4、可以使用格式化字符串的操作更加简便

    #4.可以使用格式化字符串的操作更加简便
    a=10
    oper='+'
    b=5
    #加法运算
    sums=eval(f'{a}{oper}{b}')
    print(f'{a}{oper}{b}={sums}')