zoukankan      html  css  js  c++  java
  • python compile

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

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

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

    参数model:指定编译代码的种类。可以指定为 ‘exec’,’eval’,’single’。如果是exec类型,表示这是一个序列语句,可以进行运行;如果是eval类型,表示这是一个单一的表达式语句,可以用来计算相应的值出来;如果是single类型,表示这是一个单一语句,采用交互模式执行,在这种情况下,如果是一个表达式,一般会输出结果,而不是打印为None输出。

    exec_code="for i in range(5):    print i"
    cmp_code=compile(exec_code,'','exec')
    exec cmp_code
    cmp_code
    
    0
    1
    2
    3
    4
    Out[5]: <code object <module> at 00000000096FB730, file "", line 
    eval_code='1+2'
    cmp_code2=compile(eval_code,'','eval')
    eval(cmp_code2)
    cmp_code2
    
    Out[31]: 3
    Out[32]: <code object <module> at 00000000096FB6B0, file "", line 1>
    cmp_code=compile('print "single"','','single')
    exec cmp_code
    cmp_code
    
    eval_code='1+2'
    cmp_code2=compile(eval_code,'','single')
    eval(cmp_code2)
    cmp_code2
    
    cmp_code=compile('raw_input("pls input: ")','','single')
    exec cmp_code
    eval(cmp_code)
    cmp_code
  • 相关阅读:
    Redis分布式限流器
    [转] 详解Spring boot启动原理
    [转] 总结了N个真实线上故障
    加一(66)
    原地删除(27)
    旋转数组(189)
    买卖股票的最佳时机 II(122)
    最长公共前缀(14)
    两个数组的交集II(350)
    Django时区及naive datetime object和aware datetime object的区别
  • 原文地址:https://www.cnblogs.com/dadadechengzi/p/6159289.html
Copyright © 2011-2022 走看看