裝飾器基本理論

2022-08-04 19:21:23 字數 1454 閱讀 7728

裝飾器:本質就是函式

功能:為其他函式新增附加功能

原則:1.不修改被修飾函式的源**

2.不修改被修飾函式的呼叫方式

1

#為函式新增新功能

2import

time

3def timmer(func): #

定義裝飾器

45 start_time=time.time()

6 res=func(*args,**kwargs)

7 stop_time=time.time()

8print('

函式執行的時間為:%s

'%(stop_time-start_time))

9return

res10

return

11@timmer

12def

cal(l):

13 res =0

14for i in

l:15 time.sleep(0.1)

16 res+=i

17return

res18 res=cal(range(11))

19print(res)

1

#為foo新增統計時間的功能

2import

time

3def

foo():

4 time.sleep(3) #

加大foo的執行時間

5print('

hello,diudiu')

6def

test(func):

7print

(func)

8 start_time=time.time()

9func()

10 stop_time=time.time()

11print('

函式執行的時間是:%s

'%(stop_time-start_time))

12 test(foo) #

修改了函式的呼叫方式

裝飾器的知識儲備:

裝飾器=高階函式+函式巢狀+閉包

高階函式

1.函式接受的引數是乙個函式名

1

deffoo():

2print('

hello,diudiu')

3def

test(func):

4print(func) #

func為foo的記憶體位址

5func()6#

執行test

7 test(foo) #

將foo函式名傳給了test函式的形參,test為高階函式

2.函式的返回值是乙個函式名

3.滿足上述條件任意乙個,都可稱之為高階函式

電磁基本理論

微波指頻率在300mhz到300ghz 對應波長為1m到1mm之間的交流訊號。一些頻段大體分配 波段l波段 1 2ghz s波段2 4ghz c波段4 8ghz x波段8 12ghz ku波段 12 18ghz k波段18 26ghz ka波段 26 40ghz 微波特點 第一方程 不僅傳導電流可以...

Git基本理論

檔案在這四個區域之間的轉換關係如下 git的工作流程一般是這樣的 在工作目錄中新增 修改檔案 將需要進行版本管理的檔案放入暫存區域 將暫存區域的檔案提交到git倉庫。因此,git管理的檔案有三種狀態 已修改 modified 已暫存 staged 已提交 committed 上面說檔案有4種狀態,通...

vs基本理論

4月 15日下午學習 1.csproj 是乙個專案檔案,是管理 cs檔案的。專案裡包含很多檔案。2.cs 是乙個配置檔案 3.開啟時不要直接開啟 cs 要雙擊專案檔案。開啟的整個的專案。4.sln是解決方案檔案。解決方案可以包含很多的專案。輸入輸出 再main 下邊中間裡面寫程式。console.w...