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

    装饰器:
    
    学习Python函数和函数式编程中最后一个可能也是最难懂的概念就是装饰器(decorator).
    
    
    在这里,Python的装饰器指的是一种让你能改变或者说"装饰"函数行为的机制,它能让函数执行一些和原本设计不同,
    
    或是在原有基础上额外的操作。
    
    装饰器是也可以说是对函数的一个包装,这些额外的任务包括写日志,计时,过滤等。
    
    
    Python里一个被包裹或装饰的函数(对象)通常会被重新赋值给原来的名字,这样被包裹的函数能和普通
    
    的版本保持兼容---因为使用装饰器就是在现有的功能上再"加盖"额外的功能。
    
    
    
    最简单的语法形式是这样的:
    
    @deco
    def foo():
        pass
    
    在这个例子里,deco就是一个装饰了foo函数的装饰器函数(decorator function).
    
    
    它先把foo函数拿过来,加上一些额外功能后再重新赋值给foo.
    
    @deco的语法和下面的代码是等价的(假设这里的foo是一个有效的函数对象)
    
    下面这个简单的例子记录了函数调用的发生:
    
    def log(func):
      def wrappedFunc():
         print "*** %s() called" % func.__name__
         return func()
      return wrappedFunc
    @log
    def foo():
        print "inside foo()"
    foo()
    
    C:Python27python.exe C:/Users/TLCB/PycharmProjects/untitled/mycompany/Django/a7.py
    *** foo() called
    inside foo()
    
    Process finished with exit code 0

  • 相关阅读:
    安装配置ZooKeeper及基本用法
    关于SqlServer数据库数据备份失败的问题
    input 框自动检测输入是否为数字
    nginx配置负载均衡
    nginx日志文件的配置
    nginx的proxy模块详解以及参数
    nginx配置反向代理
    正向代理和反向代理
    Linux建立虚拟ip的方法
    nginx基于ip的虚拟主机
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349528.html
Copyright © 2011-2022 走看看