竹内纱里奈和大战黑人_欧美成人黄色小视频_91福利影视_欧美在线观看视频网站_h色网站免费观看_97综合

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

介紹python的函數裝飾器

極客小將2021-01-25-
簡介相關免費學習推薦:python視頻教程pyhton的函數裝飾器可以將裝飾器函數通過@方法很便捷的為函數增添功能一.函數用法defsum_list(list):將列表中的數字求和輸入:含有數字的
wzX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

相關免費學習推薦:python視頻教程wzX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

pyhton的函數裝飾器可以將裝飾器函數通過@方法很便捷的為函數增添功能wzX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

""" 一.函數用法 """def sum_list(list): """將列表中的數字求和 輸入:含有數字的列表 list=[2,6,3,2,1] sum_list(list) """ sum_=0 for i in list: sum_+=i return sum_#1.將函數sum_list賦值給變量list_sum,從而產生的新名稱函數list_sum()list_sum=sum_list list_sum([2,5,3,8,6])#2.刪除函數del list_sum list_sum([4,3,5,2])#NameError: name 'list_sum' is not defined#3.函數中定義函數def sum_(list): def sum_list(list): """將列表中的數字求和 輸入:含有數字的列表 list=[2,6,3,2,1] sum_list(list) """ sum_ = 0 for i in list: sum_ += i return sum_ return sum_list(list)sum_([3,6,3,2])#4.將函數作為參數傳入另一個函數def print_(): print('好開心!')print_()#定義一個嵌套函數,參數為定義好的函數def deco(function): def wrapped(): print('這個函數被嵌套了') function() return wrapped""" 二,函數裝飾器 """#1.用函數裝飾器替代嵌套函數if '嵌套函數'=='嵌套函數': #定義一個打印函數 def print_(): print('好開心!') print_() #定義一個嵌套函數,參數為定義好的函數 def deco(function): def wrapped(): print('這個函數被嵌套了') function() return wrapped print_2=deco(print_)#將嵌套函數的功能賦值給新函數print_2() print_2()if '函數裝飾器'=='函數裝飾器': #或者采用裝飾器的方法 def deco(function): def wrapped(): print('這個函數被嵌套了') function() return wrapped @deco#可以直接將函數deco()嵌套在函數print_()上,形成新的函數 def print_(): print('好開心!') print_()#2.用一個函數裝飾器裝飾多個函數def print_name(function): """該裝飾器函數將為函數增加打印函數名字的功能""" import functools#該語句可以使函數被裝飾后,函數信息保持不變 @functools.wraps(function) def wrapped(*args,**kwargs): """ *args:表示可傳入任意數量的單值對象,函數將自動將其收集在元組中 **kwargvs:表示可以傳入任意數量的字典鍵值對,比如:value=3,函數將自動收集為字典 """ print('函數的名字為%s'%function.__name__) return function(*args,**kwargs)#執行傳入參數的函數 return wrapped @print_namedef sum_list(list): sum_=0 for i in list: sum_+=i return sum_ sum_list([5,7,3,2])sum_list.__name__#經過檢查,函數名稱沒有發生改變@print_namedef small_value(list): return min(list)small_value([4,8,4,2,4])#3.用多個函數裝飾器裝飾一個函數,靠近函數的裝飾器將被優先執行def print_hash(function): """該裝飾器函數將為函數增加打印函數hash值的功能""" def wrapped(*args,**kwargs): """ *args:表示可傳入任意數量的單值對象,函數將自動將其收集在元組中 **kwargvs:表示可以傳入任意數量的字典鍵值對,比如:value=3,函數將自動收集為字典 """ print('函數的名字為%s'%function.__hash__) return function(*args,**kwargs)#執行傳入參數的函數 return wrappeddef print_name(function): """該裝飾器函數將為函數增加打印函數名字的功能""" def wrapped(*args,**kwargs): """ *args:表示可傳入任意數量的單值對象,函數將自動將其收集在元組中 **kwargvs:表示可以傳入任意數量的字典鍵值對,比如:value=3,函數將自動收集為字典 """ print('函數的名字為%s'%function.__name__) return function(*args,**kwargs)#執行傳入參數的函數 return wrapped#為函數增添打印函數名稱和函數值的功能@print_hash @print_namedef small_value(list): return min(list)

用類作為裝飾wzX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

#用類作為裝飾class FirstDecorator(object):#需要引入object def __init__(self,func): self.__func=func def __call__(self, *args, **kwargs):# __call__ 方法可以讓函數使用裝飾 import time print('執行時間:{}'.format(time.ctime(time.time()))) self.__func(*args)@FirstDecorator#使用類的裝飾def print_(*number): print(number)print_(5,63,8,4,6,2)

大量免費學習推薦,敬請訪問python教程(視頻)

以上就是介紹python的函數裝飾器的詳細內容,更多請關注少兒編程網其它相關文章!wzX少兒編程網-Scratch_Python_教程_免費兒童編程學習平臺

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 最近的2019中文字幕免费一页 | 欧美日韩二区三区 | 国产亚洲综合性久久久影院 | 日韩成人一区二区 | 日韩毛片免费看 | a三级黄色片 | 成人在线免费视频观看 | 天堂网2018| 国产一区二区三区观看 | 亚洲综合精品 | 免费a级毛片大学生免费观看 | 国产激情在线 | 国产在线精品一区 | 久久欧美肥婆一二区 | 午夜久久精品 | 日韩欧美亚洲一区二区 | 综合色99 | 中文字幕视频 | 亚洲精品在线观看免费 | 国产黄在线播放 | 日韩视频在线一区二区 | 日韩av一区在线 | 欧美综合一区二区 | 欧美在线视频a | 成人免费一区二区三区视频网站 | 精品一级 | 欧美精品久久久久久久 | 日产精品久久久一区二区 | av高清 | 三区视频| 99久色 | 蜜桃视频一区二区三区 | 亚洲精品在线看 | 国产精品99精品久久免费 | 中文字幕 视频一区 | 成人亚洲一区 | 黄色网入口 | 国产精品久久久久久久久久小说 | 国产精品一区二区av | 国产在线观看一区二区 | 国产精品美女久久久久久久网站 |