1.請實現一個裝飾器,把函數的返回值+100然后返回
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
def wapper(func): def innner( * args, * * kwargs): ret = func( * args, * * kwargs) ret = print (ret + 100 ) return ret return innner @wapper def func(number): return int (number) func( 100 ) ###結果:200 |
2.請實現一個裝飾器,通過一次調用使函數重復執行5次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#Python學習交流群:725638078 def wapper(func): def innner( * args, * * kwargs): count = 0 while count< 5 : func( * args, * * kwargs) count + = 1 return innner @wapper def func(): print ( "執行" ) func() |
3.請實現一個裝飾器每次調用函數時,將函數名字及調用函數的時間點寫入文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import time def wapper(func): def inner( * args, * * kwargs): with open ( "log" ,encoding = "utf-8" ,mode = "a+" ) as f: structime = time.localtime() f.write(f '北京時間:{time.strftime("%Y-%m-%d %H:%M:%S",structime)} 函數名字為:{func.__name__}\n' ) ret = func( * args, * * kwargs) return ret return inner @wapper def func(): print ( "執行" ) func() |
到此這篇關于 Python裝飾器的練習題的文章就介紹到這了,更多相關裝飾器 習題內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
原文鏈接:https://www.cnblogs.com/xxpythonxx/p/15574404.html