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