python疫情预测函数封装_python 函数封装

主要是利用globals()

下面先简单介绍globals() 和 locals(),返回dictionary,都是记录变量的轨迹。

两者类似,差异在作用域不同

locals 对应局部名字空间――特指当前函数或类的方法。

globals 对应全局名字空间――特指当前的模块。

回到原题,globals可以将全局空间的所有函数和变量的名字都作为key(字符串),值作为value记录下来,而通过这种方法既可以实现函数封装

不废话,上例子

#添加要执行的动作

def AddAction(name,*params):

global g_funcAndParamMap

print name

g_funcAndParamMap[name] = [params]

#执行动作

def CallFunc(mapname,name):

try:

if name in globals():

globals()[name](*mapname[name][0])

else:

ExcMacroAction(mapname[name][0])

except:

common.Log(name + ":" + str(mapname[name][0]))

common.Log("exec error:"+ traceback.format_exc() + os.linesep)

mapname={“函数名称”,args1,args2,...}

name 特定的函数名称

首先通过AddAction将函数名(字符串)和参数(正常格式)添加到g_funcAndParamMap的map中;

然后 取特定函数名称调用CallFunc即可~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值