compile() 函数将一个字符串编译为字节代码。
compile(source, filename, mode[, flags[, dont_inherit]])
source -- 字符串或者AST(Abstract Syntax Trees)对象。
filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
flags和dont_inherit是用来控制编译源码时的标志
返回表达式执行结果。
str = "for i in range(0,10): print(i,end='')" c = compile(str,'','exec') # 将字符串str编译为字节代码对象 print(type(c)) # <class 'code'> print(c) # <code object <module> at 0x7efc458eb4b0, file "", line 1> exec(c) # 0123456789 str_list = '2*4-5' c_list = compile(str_list,'','eval') # 将字符串str_list编译为字节代码对象 print(type(c_list)) # <class 'code'> print(c_list) #<code object <module> at 0x7f133010b780, file "", line 1> print(eval(c_list)) # 3 s_str = "print('python中文网')" c_s = compile(s_str,'','single') # 将字符串str编译为字节代码对象 print(type(c_s)) # <class 'code'> print(c_s) # <code object <module> at 0x7fe14ee04780, file "", line 1> exec(c_s) # python中文网
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理