1. '''
  2. 函数的作用:
  3. 动态执行python代码。也就是说exec可以执行复杂的python代码,而不像eval函数那样只能计算一个表达式的值。
  4. exec(source, globals=None, locals=None, /)
  5. source:必选参数,表示需要被指定的python代码。它必须是字符串或code对象。如果source是一个字符串,该字符串会先被解析为一组python语句,然后执行。如果source是一个code对象,那么它只是被简单的执行。
  6. 返回值:
  7. exec函数的返回值永远为None。
  8.  
  9. eval()函数和exec()函数的区别:
  10. eval()函数只能计算单个表达式的值,而exec()函数可以动态运行代码段。
  11. eval()函数可以有返回值,而exec()函数返回值永远为None。
  12. '''
  13.  
  14. x = 10
  15. def func():
  16. y = 20
  17. a = exec("x+y")
  18. print("a:",a) #输出 a: None
  19. b = exec("x+y",{"x":1,"y":2})
  20. print("b:",b) #输出 b: None
  21. c = exec("x+y",{"x":1,"y":2},{"y":3,"z":4})
  22. print("c:",c) #输出 c: None
  23. d = exec("print(x,y)")
  24. print("d:",d) #输出 d: None
  25. func()
  26.  
  27. x = 10
  28. expr = """
  29. z = 30
  30. sum = x + y + z #一大包代码
  31. print(sum)
  32. """
  33. def func():
  34. y = 20
  35. exec(expr) #10+20+30 输出60
  36. exec(expr,{'x':1,'y':2}) #30+1+2 输出 33
  37. exec(expr,{'x':1,'y':2},{'y':3,'z':4}) #30+1+3,x是定义全局变量1,y是局部变量 输出34
  38.  
  39. func()
  40.  
  41. #参考原博客 https://www.cnblogs.com/yangmingxianshen/p/7810496.html

python exec()函数的更多相关文章

  1. python的eval、exec函数使用总结

    eval函数 一.函数的作用 将字符串str当成有效的表达式来求值并返回计算结果.它要执行的python代码只能是单个运算表达式(不支持任意形式的赋值操作),而不能是复杂的代码逻辑. 二.函数的定义 ...

  2. python中的exec()函数和eval()函数

    exec()函数 exec函数用于执行存储在字符串中的python语句 >>> exec("x=1") >>> x 但有时候,直接这样执行可能会 ...

  3. 第6.5节 exec函数:一个自说自话的强大Python动态编译器

    在Python动态执行的函数中,exec是用于执行一个字符串内包含的Python源码或其编译后对应的字节码. 一.    语法 1.    exec(Code, globals=None, local ...

  4. python的函数

    函数一词起源于数学,但是在编程中的函数和数学中的有很大不同.编程中的函数式组织好的,可重复使用的,用于实现单一功能或相关联功能的代码块. 我们在学习过程中已经使用过一些python内建的函数,如pri ...

  5. python exec

    exec官方声明This statement supports dynamic execution of Python code. exec语句用来执行储存在字符串或文件中的python语句.exec ...

  6. Python之函数进阶

    本节内容 上一篇中介绍了Python中函数的定义.函数的调用.函数的参数以及变量的作用域等内容,现在来说下函数的一些高级特性: 递归函数 嵌套函数与闭包 匿名函数 高阶函数 内置函数 总结 一.递归函 ...

  7. python 匿名函数&内置函数

    匿名函数:为了解决那些功能很简单的需求而设计的一句话函数怎么定义匿名函数: cal = lambda x : x*x # cal是函数名,lambda是定义匿名函数的关键字 冒号前面的额x是参数即函数 ...

  8. Java实现类似eval()函数或exec()函数的功能

    一篇参考博客:http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html 在Python中有一个exec()函数,同样在JavaS ...

  9. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

随机推荐

  1. 调试动态加载的js

    用浏览器无法调试异步加载页面里包含的js文件.简单的说就是在调试工具里面看不到异步加载页面里包含的js文件   最近在一个新的web项目中开发功能.这个项目的管理界面有一个特点,框架是固定的,不会刷新 ...

  2. Jittor实现Conditional GAN

    Jittor实现Conditional GAN Generative Adversarial Nets(GAN)提出了一种新的方法来训练生成模型.然而,GAN对于要生成的图片缺少控制.Conditio ...

  3. adb安装 mac和Windows

    一.mac安装 参考地址https://blog.csdn.net/VSRfind/article/details/79593098 1.首先安装一个软件 在用Mac进行Android开发之前,我们一 ...

  4. 二、Nginx 服务器升级

      1,编译新版本的nginx 软件 [root@client lnmp_soft]# tar -xf nginx-1.12.2.tar.gz -C .. [root@client lnmp_soft ...

  5. 一、Nginx的安装

    1.下载nginx软件 http://nginx.org/download/ 2.安装依赖包 [root@client ~]# useradd -s /sbin/nologin nginx 创建ngi ...

  6. 32.qt quick-PathView实现好看的home界面

    pathView的使用类似与ListView,都需要模型(model)和代理(delegate),只不过pathView多了一个路径(path)属性,顾名思义路径就是item滑动的路径. 一个Path ...

  7. Java安全之挖掘回显链

    Java安全之挖掘回显链 0x00 前言 前文中叙述反序列化回显只是为了拿到Request和Response对象.在这里说的的回显链其实就是通过一连串反射代码获取到该Request对象. 在此之前想吹 ...

  8. HTTP 5XX代码理解

      500: 内部服务器错误,服务程序出现错误 501: 请求为完成,服务器不支持所请求功能,很少遇到 502: Bad Gateway,服务器从上游服务器收到一个无效响应, 一般就是nginx后端服 ...

  9. golang变量与常量

    变量 变量 在程序运行中可以改变的量 枚举 var ( a3 = 1 a4 = 2 ) golang不同类型变量不能替换 func main() { var a int = 10 a = 20 a = ...

  10. 8、ITSM基本概念(1)

    ITSM即是信息技术服务管理: 8.1.什么是服务: 8.2.RACI模型: 谁负责(R =n Resposible),即负责执行任务的角色,他/她具体负责操控项目.解决问题. 谁批准(A = Acc ...