文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python内置函数3-compile(

2023-01-31 07:40

关注

Help on built-in function compile in module __builtin__:


compile(...)

    compile(source, filename, mode[, flags[, dont_inherit]]) -> code object

    

    Compile the source string (a Python module, statement or expression)

    into a code object that can be executed by the exec statement or eval().

    The filename will be used for run-time error messages.

    The mode must be 'exec' to compile a module, 'single' to compile a

    single (interactive) statement, or 'eval' to compile an expression.

    The flags argument, if present, controls which future statements influence

    the compilation of the code.

    The dont_inherit argument, if non-zero, stops the compilation inheriting

    the effects of any future statements in effect in the code calling

    compile; if absent or zero these statements do influence the compilation,

    in addition to any features explicitly specified.

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

Compile the source into a code or AST object. Code objects can be executed by an exec statement or evaluated by a call to eval(). source can either be a Unicode string, a Latin-1 encoded string or an AST object. Refer to the ast module documentation for information on how to work with AST objects.


The filename argument should give the file from which the code was read; pass some recognizable value if it wasn’t read from a file ('<string>' is commonly used).


The mode argument specifies what kind of code must be compiled; it can be 'exec' if source consists of a sequence of statements, 'eval' if it consists of a single expression, or 'single' if it consists of a single interactive statement (in the latter case, expression statements that evaluate to something other than None will be printed).


The optional arguments flags and dont_inherit control which future statements (see PEP 236) affect the compilation of source. If neither is present (or both are zero) the code is compiled with those future statements that are in effect in the code that is calling compile(). If the flags argument is given and dont_inherit is not (or is zero) then the future statements specified by the flags argument are used in addition to those that would be used anyway. If dont_inherit is a non-zero integer then the flags argument is it – the future statements in effect around the call to compile are ignored.


Future statements are specified by bits which can be bitwise ORed together to specify multiple statements. The bitfield required to specify a given feature can be found as the compiler_flag attribute on the _Feature instance in the __future__ module.


This function raises SyntaxError if the compiled source is invalid, and TypeError if the source contains null bytes.


If you want to parse Python code into its AST representation, see ast.parse().


Note When compiling a string with multi-line code in 'single' or 'eval' mode, input must be terminated by at least one newline character. This is to facilitate detection of incomplete and complete statements in the code module.


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


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


参数source:字符串或者AST(Abstract Syntax Trees)对象。

参数filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

参数model:指定编译代码的种类。可以指定为 ‘exec’,’eval’,’single’。

参数flag和dont_inherit:这两个参数暂不介绍,可选参数。


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


>>> code="for i in range(0,10): print i"

>>> cmpcode=compile(code,'','exec')

>>> exec cmpcode

0

1

2

3

4

5

6

7

8

9

>>> str="3*4+5"

>>> a=compile(str,'','eval')

>>> eval(a)

17


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯