Python函數(十)-裝飾器(三)
阿新 • • 發佈:2018-02-02
進行 src def int 技術 put 功能 bubuko div
如果多個函數想通過一個裝飾器來實現不同的功能的話,可以給裝飾器傳入參數,讓裝飾器裏的函數對參數進行判斷,來實現不同的功能
# -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" def deco(info_type): def outer(func): #這在傳入參數名 def inner(*args,**kwargs): if info_type == ‘name‘: #對裝飾器的參數進行判斷 func(*args, **kwargs) name_info = input("your name:") print("your name is %s"%name_info) if info_type == ‘age‘: func(*args, **kwargs) age_info = input("your age:") print("your age is %s"%age_info) return inner return outer @deco(info_type=‘name‘) #給裝飾器傳參數 def name(): print("input your name") @deco(info_type=‘age‘) def age(): print("input your age") if __name__ == ‘__main__‘: name() age()
運行結果
Python函數(十)-裝飾器(三)