当前位置: 首页 > news >正文

冷库 东莞网站建设营销型网站分析

冷库 东莞网站建设,营销型网站分析,企业形象网站用什么语言开发,最新任免名单最新compile() 函数是什么 compile() 函数将一个字符串编译为字节代码。 compile将代码编译为代码对象,应用在代码中可以提高效率。 语法 compile(source, filename, mode, flags0, dont_inheritFalse, optimize-1) 参数 source:表示要编译的源代码字符串、…

compile() 函数是什么

compile() 函数将一个字符串编译为字节代码。
compile将代码编译为代码对象,应用在代码中可以提高效率。

语法

compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1)

参数

  • source:表示要编译的源代码字符串、AST对象或代码对象。
  • filename:表示源代码的文件名。如果源代码不是从文件中读取的,可以使用一个虚拟的文件名。
  • mode:表示编译模式,可以指定为 exec, eval, single。
  • flags:可选参数,用于指定编译时的标志。可以使用ast.PyCF_*常量进行按位或运算的组合,用于控制编译过程中的不同行为。
  • dont_inherit:可选参数,如果设置为True,则编译时不会继承当前作用域的符号表。
  • optimize:可选参数,指定编译优化级别的标志。默认值为-1,表示使用默认优化级别。

返回表达式执行结果。


示例
首先code下新建demo.py

from code.cal import add,mul
from code.sqrt import sqrt__all__ =[ "add","mul","sqrt"]

cal.py

def add(a,b):return a+bdef mul(a,b):return a*b

sqrt.py

def sqrt(a):return a**2

编写调用脚本test.py

import traceback
import os
import requests
import threading
import time
import json
import logging
log=logging.getLogger()def compile_funcs(codefile,funname_list):"""Args:codefile: Path of Python's Code filefunname_list: list of function namesReturn: dict of func info     """try:#读取代码with open(codefile) as f:code=f.read()#将字符串编译为字节代码methods_obj=compile(code,"","exec")scope = {}'''exec函数族的作用是根据指定的文件名找到可执行文件,并用它来取代调用进程的内容;换句话说,就是在调用进程内部执行一个可执行文件。这里的可执行文件既可以是二进制文件,也可以是任何Linux下可执行的脚本文件'''exec(methods_obj,scope)fun_object={}for name in funname_list:fun_obj= scope.get(name,None)fun_object[name] = fun_objreturn fun_objectexcept Exception as e:traceback.print_exc(e)return None#函数名称
func_lists=['add','mul','sqrt']
#传入code下的demo.py
func_dict= compile_funcs("./code/demo.py",func_lists)
#获取返回对象
add = func_dict['add']
mul = func_dict['mul']
sqrt = func_dict['sqrt']
#传参调用
c = add(2,3)
d = mul(3,3)
e = sqrt(5)
print(f"add(2,3)={c}")
print(f"mul(3,3)={d}")
print(f"sqrt(5)={e}")

结果:

add(2,3)=5
mul(3,3)=9
sqrt(5)=25

总结
compile() 函数的应用场景包括:

1、动态执行代码:可以将源代码字符串编译为代码对象,然后使用exec()函数执行。
2、动态求值表达式:将单个表达式编译为代码对象,然后使用eval()函数求值。
3、AST分析和修改:将源代码字符串编译为AST对象,然后使用ast模块进行分析和修改操作,例如静态代码分析、代码转换等。
在使用某些代码需要提炼出公共的代码块是可以使用,方便后续的使用和添加;

http://www.yayakq.cn/news/277152/

相关文章:

  • 影视文化网站建设seo是什么及作用
  • 化妆品网站建设实施方案付费文章 wordpress
  • 给公司做一个网站洛阳网络推广公司
  • 外贸网站建设的败笔无水印效果图网站
  • 做网站时背景图片浮动网络营销策划书4000字
  • 彩票网站开发 极云在职研究生
  • 高职两学一做专题网站广告设计学校
  • 四川省住房城乡建设厅网站专业装饰企业展厅设计公司
  • 怀宁建设局网站怎样做编辑发到网站
  • 网站文字规划无锡工业设计公司
  • 温州网站建设专家分销网站制作条件
  • 淄博有做网站的吗ui设计培训项目
  • 响应式网站设计多少钱重庆最新通告
  • 硬件开发工程师薪资网站seo的优化怎么做
  • 请人做网站合同企业宣传型网站建设
  • 成都网站整站优化南充做网站的公司
  • 做网站时联系我们制作模板模板网站五金
  • 比较容易做流量的网站电商平台设计电商网站建设
  • 外贸式响应式网站制作网站比较大的几家公司
  • 郑州手机网站建设百度网站建设中心
  • 网站建设网站维护的具体内容是什么搜狗seo刷排名软件
  • 安卓开发基础教程福州网站设计十年乐云seo
  • 网站建设专家工作总结两人做性视频网站
  • 插画师培训网站建设在菲律宾做网络网站犯法吗
  • 什么网站做电器出租门户网站建设情况
  • 如何进行网站优化设计嘉兴网站建设的地方
  • 建购物网站要多少钱手机网站要域名吗
  • 国际网站怎么样做广告策划案例范文
  • 360网站排名怎么做二 建设电子商务网站的必要性
  • 丰台做网站的公司网站公司备案通知