每日 python 学习之——compile()函数

compile(source, filename, mode[, flags[, dont_inherit]])

说明:将 source 编译为代码或 ATS 对象。代码对象能够通过 exec 语句来执行或者 eval() 进行求值。

参数:

  • source:字符串或者 ATS 对象。
  • filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
  • mode:指定编译代码的种类。可以指定为 'exec', 'eval', 'single'。
  • flag 和 dont_inherit:可选参数

版本:在 python2.3、2.6、2.7、3.2 中均有不同,使用时要引起注意,兼容 python3


  1. ATS 对象:Abstract Syntax Tree,抽象语法树,是源代码语法结构的一种抽象表示。https://zhuanlan.zhihu.com/p/26988179
  2. exec 语句:exec 执行储存在字符串或文件中的Python语句,相比于 eval,exec可以执行更复杂的 Python 代码。需要说明的是在 Python2 中exec不是函数,而是一个内置语句(statement)。
  3. eval() 函数:eval() 函数用来执行一个字符串表达式,并返回表达式的值。

在 python2.7 中的试用:

>>> code = 'for i in rang

你可能感兴趣的:(每日,python,学习,python)