脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python装饰器的练习题

Python装饰器的练习题

2022-03-06 00:38python学习者 Python

这篇文章主要给大家分享的是 Python装饰器的练习题,习题不多,就三个基础练习题,需要的朋友可以参考一下,希望对你有所帮助

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

延伸 · 阅读

精彩推荐