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

  • 相关阅读:
    Spring常用注解
    mybatis注解映射的简单分类
    Java框架中各层作用简述
    maven中groupId和artifactId的含义
    mybatis缓存
    防盗链的基本原理
    将部分字符串转化成JsonArray
    风螺旋线的进入
    3D转弯保护区长啥样?
    风螺旋线公切线的算法
  • 原文地址:https://www.cnblogs.com/luhouxiang/p/2478387.html
Copyright © 2011-2022 走看看