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)
相關文章
相關標籤/搜索