zoukankan      html  css  js  c++  java
  • python 可调用对象

    compile函数允许程序员在运行时刻迅速生成代码对象,然后就可以用exec语句或者内建函数eval 来执行这些对象或者对它们进行求值。一个很重要的观点是:exec和eval者可以执行字符串格式的Python代码。

    这也是与c++等静态语言最重要的区别。

    compile的三个参数都是必须的,第一参数代表了要编译的Python代码。第二个字符串,虽然是必须的,但通常被置为空串。最后的参数是个字符串,它用来表明代码对象的类型。有三种可能值:

    ‘eval’ 可求值的表达式,和eval一起使用

    ‘single’ 单一可执行语句,和exec一起使用

    ‘exec’ 可执行语句组,和exec一起使用。

    1、可求值表达式

    eval_code = compile('100 + 200', '', 'eval')
    print eval(eval_code)

    300

    2、单一可执行语句:

    single_code = compile('print "Hello world!"', '', 'single')
    exec single_code

    Hello world!

    3、可执行语句组:

    exec_code = compile("""
    req = input('Count how many numbers? ')
    for eachNum in range(req):
        print eachNum
    """, '', 'exec')
    exec exec_code

    Count how many numbers? 0
    1
    2
    3
    4
    5

  • 相关阅读:
    2017沈阳站 Tree
    P2146 [NOI2015]软件包管理器
    hdu3307 欧拉函数
    poj 3126 Prime Path bfs
    CSL的字符串
    P1045 麦森数
    洛谷 P1338 末日的传说
    树链剖分
    SQL[Err] ORA-00933: SQL command not properly ended
    Postman 快速入门之脚本
  • 原文地址:https://www.cnblogs.com/luhouxiang/p/2478387.html
Copyright © 2011-2022 走看看