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