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)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM