python基礎 day15 裝飾器

2022-07-10 14:51:14 字數 1984 閱讀 8427

今日內容大綱

一、內容回顧作業講解

1、匿名函式 一句話函式,多與內建函式,列表推導式結合

2、內建函式:min max sorted 、map reduce、bytes

3、閉包:

二、裝飾器

1、開放封閉原則

裝飾器的本質就是閉包

"""

裝飾器基本格式

"""import time

def index():

time.sleep(3)

print("歡迎登入首頁!")

def func(f):

def inner():

start_time = time.time()

f()end_time = time.time()

print(f'測試效率時間差:')

return inner

index = func(index)  # func(index) 得到的是 inner

被裝飾函式不帶返回值

import time

def func(f):

def inner():

start_time = time.time()

f()end_time = time.time()

print(f'測試效率時間差:')

return inner

@func #等價於index = func(index)

def index():

time.sleep(3)

print("歡迎登入首頁!")

被裝飾器帶返回值

import time

def func(f):

def inner():

start_time = time.time()

r = f()

end_time = time.time()

print(f'測試效率時間差:')

return r

return inner

@func  #等價於index = func(index)

def index():

time.sleep(3)

print("歡迎登入首頁!")

return 666

​ret = index()

print(ret)

被裝飾器引數

import time

def func(f):

def inner(*args,**kwargs):

start_time = time.time()

r = f(*args,**kwargs)

end_time = time.time()

print(f'測試效率時間差:')

return r

return inner

@func  #等價於index = func(index)

def index(name):

time.sleep(3)

print(f"歡迎登入首頁!")

return 666

@func

def barry(name,age):

time.sleep(3)

print(f"歡迎歲登入首頁!")

return 777

ret = index("憨子")

print(ret)

ret_1 = barry("寶氣",12)

print(ret_1)

python學習歷程day15

學習內建函式 包括map,sort,repr,lambda,filter,遞迴,二分法查詢 1.map lst 1,4,7,2,5,8 def func el return el 2 func lst 或者m map lambda el el 2,lst 把後面的可迭代物件中的每乙個元素傳遞給fun...

檔案操作(day15)

呼叫函式可以使用被呼叫函式動態分配的 儲存區calloc函式也可以動態分配一組連續的 儲存區這個函式可以把所有動態分配的儲存區 內容設定成0 為了使用這個函式也需要包含stdlib.h標頭檔案 這個函式需要兩個引數,第乙個引數表示要 分配的儲存區個數,第二個引數表示單個 儲存區的大小 這個函式的返回...

python學習筆記 day15 作業講解

def extendlist val,list 陷阱問題,預設引數傳進去的是可變資料型別list return list list1 extendlist 10 使用的預設的,所以現在原函式中預設引數那個空列表已經變為 10 print list1 list2 extendlist 123,給lis...