Python装饰器的练习题

目录
  • 1.请实现一个装饰器,把函数的返回值+100然后返回
  • 2.请实现一个装饰器,通过一次调用使函数重复执行5次
  • 3.请实现一个装饰器每次调用函数时,将函数名字及调用函数的时间点写入文件中

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

(0)

相关推荐

  • Python语法详解之decorator装饰器

    python 是一门优雅的语言,有些使用方法就像魔法一样.装饰器(decorator)就是一种化腐朽性为神奇的技巧.最近一直都在使用 Tornado 框架,一直还是念念不忘 Flask .Flask 是我最喜欢的 Python 框架,最早被它吸引也是源自它使用装饰器这个语法糖(Syntactic sugar)来做 Router,让代码看上去就感觉甜甜的. Tornado 中的 Router 略显平淡,怀念 Flask 的味道,于是很好奇的想知道 Flask 是如何使用这个魔法.通过阅读 Flas

  • python装饰器练习题及答案

    这篇文章主要介绍了python装饰器练习题及答案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一:编写装饰器,为多个函数加上认证的功能(用户的账号密码) 要求登录成功一次,后续的函数都无需输入用户名和密码 FLAG=False#此时还未登录 全局变量 写这个步骤的意义在于:方便 知道已经登录成功了,就不再重复登录 def login(func):#为多个函数加上的认证功能 def inner(*args,**kwargs):#加上装饰器 gl

  • 巧妙使用Python装饰器处理if...elif...else

    我们来看看这个方法具体是什么样的.假设我们要做一个功能,根据用户的等级判断他可以获得的折扣.常规的if - elif-写法是这样的: def get_discount(level): if level == 1: "大量计算代码" discount = 0.1 elif level == 2: "大量计算代码" discount = 0.2 elif level == 3: discount = 0.3 elif level == 4: discount = 0.4

  • Python中装饰器的基本功能理解

    目录 前言 什么是装饰器 Python 函数的基本特性 函数名的本质: 将函数作为变量使用: 进一步实现装饰器 使用Python装饰器语句: 总结 前言 在 python 中,装饰器由于是 python 语言自带的一个功能,因此,对于其实现以及其用法就会感到比较奇怪,这里我记录一下对它的理解,加深自己的印象. 什么是装饰器 对于什么是装饰器,我们其实应该知道为什么会存在装饰器. ​ 装饰器是 python 引入的一个非常有意思的功能,它主要用于解决想要在原有函数或类的基础上进行功能扩展,但又不会

  • Python装饰器详情

    目录 1.装饰器 1.1 应用场景 2.万能装饰器 3.多层装饰器 4.带参数的装饰器 1.装饰器 装饰器(Decorator):从字面上理解,就是装饰对象的器件.可以在不修改原有代码的情况下,为被装饰的对象增加新的功能或者附加限制条件或者帮助输出. 装饰器的特点是特点是函数是作为其参数出现的,装饰器还拥有闭包的特点. 示例代码如下所示: # 定义一个装饰器 def decorate(func): def wrapper(): func() print("已将学生加入学校学生名单")

  • python 装饰器详解与应用范例

    什么是装饰器 从字面意思上来看,装饰器是用来装饰其他东西的工具.在python中装饰器分为函数装饰器和类装饰器. 简而言之,函数装饰器是用来装饰函数的装饰器,其主要目的是增加目标函数的功能,类装饰器也就是装饰类的装饰器,增加类的功能. 函数装饰器 装饰器本质是嵌套函数 下面是一个简单的装饰器 # fun1为装饰器名称,function指的是被装饰的函数 def fun1(function): def fun2(): print("开始了!") function() # 执行被装饰的函数

  • Python 装饰器代码解析

    前言: 以往看到我博客的小伙伴可能都知道,我的前言一般都是吐槽和讲废话环节,哈哈哈哈.今天难得休息,最近可真是太忙了,博主已经连续一年都在996了,所以最近没怎么学习新东西,只能回顾以往的旧知识了,上周一起工作的小伙伴扛不住996离职了,我们三人的小团队也正式解散了,哎.原本想着找时间好好整理一个关于关于接口自动化测试或ceph相关的东西.但由于篇幅过长这里目前可能不会着手写这方面东西.其实啊写是很简单的,主要例子难找.哈哈哈哈. 好了回归正题吧.看过我以往博客的小伙伴肯定见我用过@parame

  • Python装饰器代码详解

    目录 一.理解装饰器 二.装饰器原型 1.不带参数的装饰器 2.带参数的被装饰的函数 3.带参数的装饰器 4.使用类作为装饰器 5.使用对象作为装饰器 6.多层装饰器的嵌套 总结 一.理解装饰器 所有东西都是对象(函数可以当做对象传递) 由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数. def function_one(): print("测试函数") #可以将一个函数赋值给一个变量,比如 foo =function_one #这里没有在使用小括号,因

  • Python装饰器的练习题

    目录 1.请实现一个装饰器,把函数的返回值+100然后返回 2.请实现一个装饰器,通过一次调用使函数重复执行5次 3.请实现一个装饰器每次调用函数时,将函数名字及调用函数的时间点写入文件中 1.请实现一个装饰器,把函数的返回值+100然后返回 def wapper(func): def innner(*args,**kwargs): ret=func(*args,**kwargs) ret=print(ret+100) return ret return innner @wapper def f

  • python装饰器实例大详解

    一.作用域 在python中,作用域分为两种:全局作用域和局部作用域. 全局作用域是定义在文件级别的变量,函数名.而局部作用域,则是定义函数内部. 关于作用域,我们要理解两点: a.在全局不能访问到局部定义的变量 b.在局部能够访问到全局定义的变量,但是不能修改全局定义的变量(当然有方法可以修改) 下面我们来看看下面实例: x = 1 def funx(): x = 10 print(x) # 打印出10 funx() print(x) # 打印出1 如果局部没有定义变量x,那么函数内部会从内往

  • Python 装饰器深入理解

    讲 Python 装饰器前,我想先举个例子,虽有点污,但跟装饰器这个话题很贴切. 每个人都有的内裤主要功能是用来遮羞,但是到了冬天它没法为我们防风御寒,咋办?我们想到的一个办法就是把内裤改造一下,让它变得更厚更长,这样一来,它不仅有遮羞功能,还能提供保暖,不过有个问题,这个内裤被我们改造成了长裤后,虽然还有遮羞功能,但本质上它不再是一条真正的内裤了.于是聪明的人们发明长裤,在不影响内裤的前提下,直接把长裤套在了内裤外面,这样内裤还是内裤,有了长裤后宝宝再也不冷了.装饰器就像我们这里说的长裤,在不

  • 使用Python装饰器在Django框架下去除冗余代码的教程

    Python装饰器是一个消除冗余的强大工具.随着将功能模块化为大小合适的方法,即使是最复杂的工作流,装饰器也能使它变成简洁的功能. 例如让我们看看Django web框架,该框架处理请求的方法接收一个方法对象,返回一个响应对象: def handle_request(request): return HttpResponse("Hello, World") 我最近遇到一个案例,需要编写几个满足下述条件的api方法: 返回json响应 如果是GET请求,那么返回错误码 做为一个注册api

  • 深入理解Python装饰器

    装饰器简介: 装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果.相对于其它方式,装饰器语法简单,代码可读性高.因此,装饰器在Python项目中有广泛的应用. 装饰器最早在Python 2.5中出现,它最初被用于加工函数和方法这样的可调用对象(callable object,这样的对象定义有__call__方法).在Python 2

  • python装饰器初探(推荐)

    一.含有一个装饰器 #encoding: utf-8 ############含有一个装饰器######### def outer(func): def inner(*args, **kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数 print "1" r = func(*args, **kwargs)#这里要用func,不要用f1 print "2" return r return inner @outer #这里ou

  • 深入浅出分析Python装饰器用法

    本文实例讲述了Python装饰器用法.分享给大家供大家参考,具体如下: 用类作为装饰器 示例一 最初代码: class bol(object): def __init__(self, func): self.func = func def __call__(self): return "<b>{}</b>".format(self.func()) class ita(object): def __init__(self, func): self.func = f

  • Python装饰器基础详解

    装饰器(decorator)是一种高级Python语法.装饰器可以对一个函数.方法或者类进行加工.在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果.相对于其它方式,装饰器语法简单,代码可读性高.因此,装饰器在Python项目中有广泛的应用. 前面快速介绍了装饰器的语法,在这里,我们将深入装饰器内部工作机制,更详细更系统地介绍装饰器的内容,并学习自己编写新的装饰器的更多高级语法. 什么是装饰器 装饰是为函数和类指定管理代码的一种

  • python装饰器与递归算法详解

    1.python装饰器 刚刚接触python的装饰器,简直懵逼了,直接不懂什么意思啊有木有,自己都忘了走了多少遍Debug,查了多少遍资料,猜有点点开始明白了.总结了一下解释得比较好的,通俗易懂的来说明一下: 小P闲来无事,随便翻看自己以前写的一些函数,忽然对一个最最最基础的函数起了兴趣: def sum1(): sum = 1 + 2 print(sum) sum1() 此时小P想看看这个函数执行用了多长时间,所以写了几句代码插进去了: import time def sum1(): star

随机推荐