• python修饰器


    修饰器:

    简而言知就是修饰一个器,这个器被称之为修饰对象。

    这个修饰对象可以是一个函数,一个类...

    也就是说这个修饰器是在不改变原来的函数/类的情况下,对函数或者类进行功能的补充。

    利用一个嵌套函数,嵌套函数里面的一层写你修饰的功能,并且将要修饰的函数放在里面。最后return你所定义的函数(记住不要加括号,只要返回内存地址即可)

    如果需要调用这个修饰方法。那么只需要在你要修饰的函数的前面一行使用@函数#这里的函数是嵌套函数的函数名。

    如下案例(这个是修饰没有参数的):

     1 #!usr/bin/env python
     2 #encding:utf-8
     3 #by i3ekr
     4 
     5 import time
     6 def pro(func):
     7     def de():
     8         start_time = time.time()
     9         func()
    10         end_time = time.time()
    11         print("the fun run thime is %s"%(end_time-start_time))
    12     return de
    13 
    14 @pro
    15 def f1():
    16     time.sleep(3)
    17     print "this is f1..."
    18 
    19 f1()

     如下案例是修饰有参数的(嵌套函数的第二个函数使用*args,**kwargs,使用函数的也是直接*args,**kwargs):

     1 #!usr/bin/env python
     2 #encding:utf-8
     3 #by i3ekr
     4 
     5 import time
     6 
     7 def pro(func):
     8     def de(*args,**kwargs):
     9         start_time = time.time()
    10         func(*args,**kwargs)
    11         end_time = time.time()
    12         print("the func run time is %s"%(end_time-start_time))
    13     return de
    14 
    15 @pro
    16 def f1(name):
    17     time.sleep(3)
    18     print "start...[%s]"%name
    19 
    20 
    21 
    22 f1('aaaaaaa')
  • 相关阅读:
    轮播制作
    前端问题总结
    响应式 媒体查询 盒模型
    响应式 字体设置 flex 弹性布局
    C++ STL之set常用指令
    SRM468
    SRM470
    置换及其应用专题
    C++ STL之map常用指令
    C++ STL之pair常用指令
  • 原文地址:https://www.cnblogs.com/nul1/p/8909727.html
Copyright © 2020-2023  润新知