python 动态函数调用及可变参数传入

定义类及方法

class ParameterFactory(object):
        .....
        def fullLinkTag(self, fromDate, toDate, status, cate='全部', op=''):
                .......
        .......    

在main文件中创建其实例

factory = ParameterFactory(cookie)

新建一个字典,根据业务需要传入中文名称,找到对应的函数名

funcdict = {
        "全链路状态" : factory.fullLinkTag,
        "搜索":factory.searchTag,
        "付费广告":factory.payAdvertising,
        "内容运营":factory.contentOperation,
        #"天猫营销平台":factory.,
        "销售渠道":factory.salesChannel,
        #"线下触点":factory.,
        #"istore小程序":factory.,
        "店铺商品圈人":factory.shopGoods,
        "属性圈人":factory.attributeTag,
        "会员":factory.membership,
        "现有人群": factory.currentCrowdMarketing,
    }

以下是业务代码举例,包含调用的函数中文名及该函数需要的参数列表

call_setting = {'fun_name': '全链路状态',
 'parameters': {'fromDate': 'T1加1',
  'op': '交',
  'status': '认知',
  'toDate': 'T1加1'}}

动态函数调用成功!!!

  • 关键可以通过在参数dict前面 添加 ** 两个星号**的形式实现
funcdict[call_setting['fun_name']](**parameters)

转载于:https://www.cnblogs.com/yeni/p/10484837.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值