Python装饰器的练习题

1.请实现一个装饰器,把函数的返回值+100然后返回

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次

#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.请实现一个装饰器每次调用函数时,将函数名字及调用函数的时间点写入文件中

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有帮助!

你可能感兴趣的