zoukankan      html  css  js  c++  java
  • python 装饰器

     前言

    装饰器的学习,需要了解以下3个方面的知识

    1.函数名即‘变量名’

    2.不能更改被装饰函数的源代码以及调用方式

    3.高阶函数和嵌套函数的定义

    需求:写一个测试函数执行时间的装饰器

    import time

    def time_test(func):         #高阶函数里面接受另一函数,

      def wrapper(*args,**kwargs):    #嵌套函数在函数里面再定义一个函数

        start_time = time.time()

        func(*args,**kwargs)

        end_time = time.time()

      return wrapper                 #外部函数的返回值是内部函数名

    @time_test                     #语法糖  f = time_test(f) #返回值 wrapper  ----->  f() =wrapper()

    def f():

      time.sleep(2)

      print('in the f.')

    @time_test

    def f2(name):    #我在装饰器里的内部函数wrapper,参数用的是*args  **kwargs

      time.sleep(2)

      print('in th {}'.format(name))

    调用

    f()

    f2('sex')

    ok,了解这些基本的功能都可以实现了!

  • 相关阅读:
    GetEnumName 枚举名称 字符串
    拖拽文件
    小米手机Root 刷机
    微软语言 中文 英文 中英文
    MTP
    MD5加密算法全解析
    ORA-28000: the account is locked
    HTTP状态码
    HTTP 消息结构
    @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • 原文地址:https://www.cnblogs.com/linux-error/p/9353497.html
Copyright © 2011-2022 走看看