• exec和eval内置函数


    你在线执行过Python代码吗?他们用的什么方法把你的代码执行的呢,就是今天要学的函数exec,它把你的Python代码一行行的当做字符串进行执行哦,来我们一起看看这个方法吧,朋友们go

    1、exec 使用方法如下:

    #exec 执行计算
    i=12
    j=13
    exec("answer=i*j") #执行字符串中的python代码,并声明answer
    print(answer) #输出结果
    


    #exec 执行复杂的函数 ''' #a.txt文件内容 def fact(n): if n == 1: return 1 else: return n * fact(n - 1) print(fact(6)) ''' func="def fact(n): return 1 if n==1 else n*fact(n-1)" exec(func) #执行func代码,声明函数 a=fact(5) #调用函数 print(a) #输出函数


    #exec 执行文件中的代码 with open('a.txt',encoding="utf-8") as f: s=f.read() #文件内容读到变量中 exec(s) #执行文件代码



    #exec 接受传参 x=10 y=20 expr=""" z=30 sum=x+y+z print(sum) """ exec(expr) #默认的X,Y值 exec (expr,{'x':1,'y':2}) #指定x=1,y=2

    2、eval() 计算指定表达式的值。也就是说它要执行的python代码只能是单个表达式(注意eval不支持任何形式的赋值操作),而不能是复杂的代码逻辑

    #eval 执行计算
    x=12
    y=13
    print(evaleval("x*y")) #执行计算,并返回结果
    print(eval("x+y",{"x":1,"y":2})) #优先使用局部变量

    eval()函数和exec()函数的区别:

    eval()函数只能计算单个表达式的值,而exec()函数可以动态运行代码段。

    eval()函数可以有返回值,而exec()函数返回值永远为None。

     
  • 相关阅读:
    Python正课15 —— 流程控制之while循环
    Python正课14 —— 深浅Copy
    Python正课13 —— 流程控制之if判断
    Python正课12 —— 成员运算 与 身份运算
    Python正课11 —— 逻辑运算
    Python正课10 —— 条件
    Python正课9 —— 可变不可变类型
    Python正课8 —— 运算符
    Python正课7 —— 与用户交互
    Python正课6 —— 垃圾回收机制
  • 原文地址:https://www.cnblogs.com/xiaokuangnvhai/p/11063984.html
Copyright © 2020-2023  润新知