一.基本

  

第一波 ####
def foo():print 'foo'foo     #表示是函数
foo()   #表示执行foo函数#### 第二波 ####
def foo():print 'foo'foo = lambda x: x + 1foo()   # 执行下面的lambda表达式,而不再是原来的foo函数,因为函数 foo 被重新定义了

二.example

#一个参数
def w1(func):   #func = f1def inner(arg):     #arg是f1的参数print('auth %s'%arg)    #新增加内容return func(arg)        #运行老f1return inner                #返回inner给新的f1@w1
def f1(arg):print('f1   %s'%arg)f1('alex')          #运行新的F1了
#二个参数def w2(func):def inner(arg1,arg2):print("auth %s,%s"%(arg1,arg2))return func(arg1,arg2)return inner@w2
def f2(arg1,arg2):print("f2  %s,%s"%(arg1,arg2))f2('tom','boy')
#N个参数
def w3(func):def inner(*args,**kwargs):print('auth')return func(*args,**kwargs)return inner@w3
def f3(arg1,arg2,arg3):print("f3 %s,%s,%s"%(arg1,arg2,arg3))f3('tom','is','boy')#一个函数被多个装饰器装饰
def w1(func):def inner(*args,**kwargs):print('w1')return func(*args,**kwargs)return innerdef w2(func):def inner(*args,**kwargs):print('w2')return func(*args,**kwargs)return inner@w1
@w2
def f3(arg1,arg2,arg3):print("f3 %s,%s,%s"%(arg1,arg2,arg3))f3('tom','is','boy')#通用装饰器
def Before(request,kargs):print('before')def After(request,kargs):print('after')def Filter(before_func,after_func):def outer(main_func):def wrapper(request,kargs):before_result = before_func(request,kargs)main_result = main_func(request,kargs)after_result = after_func(request,kargs)return wrapperreturn outer@Filter(Before, After)
def Index(request,kargs):print('index')Index('a','b')

  

转载于:https://www.cnblogs.com/weibiao/p/5225897.html

python3-day4(装饰器)相关推荐

  1. Python3中装饰器@typing.overload的使用

    typing.py的源码在:https://github.com/python/cpython/blob/main/Lib/typing.py .此模块为类型提示(Type Hints)提供运行时支持 ...

  2. python3练习-装饰器

    在廖雪峰的官方网站学习装饰器章节时,初步理解类似与面向切面编程.记录一下自己的课后习题解法. 问题: 请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call ...

  3. python3大器----装饰器,迭代器,生成器

    目录 一:闭包: 1:闭包的作用和定义: 2:闭包的形成条件: 3:闭包的经典案例: 4:闭包的原理: 5: 闭包中使用外部函数变量: 二:装饰器: 1:装饰器的定义和作用: 2:装饰器经典案例分析: ...

  4. Python3中装饰器介绍

          Python中的装饰器(decorator)是一个接受另一个函数作为参数的函数.装饰器通常会修改或增强它接受的函数并返回修改后的函数.这意味着当你调用一个装饰函数时,你会得到一个与基本定义 ...

  5. python3层装饰器_python三层装饰器python字符串,数值计算

    Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dict etc. 给编程带来很大的便捷 Pyt ...

  6. python3:装饰器的5大用法总结

    装饰器,顾名思义,就是给函数作装饰作用的,相当于只是给函数化了一个妆,并没有给他添加额外的代码,但是却增加了新功能,就如同我们在冬天很冷的情况下,想要变暖和(添加新功能),但是我们不是生活在武侠小说里 ...

  7. python中装饰器修复技术_python3之装饰器修复技术@wraps

    普通函数 def f(): """ 这是一个用来测试装饰器修复技术的函数 """ print("哈哈哈") if __n ...

  8. itext生成pdf paragraph 自动换行_reportlab高级制作多格式PDF和python的class和装饰器复习

    1 说明 1.1 reportlab高级制作多格式PDF:即包含文字.表格.柱状图. 1.2 复习python的class和装饰器的高级基础知识. 1.3 列表转换字符串.读取txt文件等python ...

  9. day4 高阶函数 嵌套函数 装饰器 内置函数 列表生成式 迭代器 生成器

    一.函数即变量 1.赋值效果图 a = 1  b = a def func(): print('hello') func 是函数名,相当于变量名,print('hello')是函数体,相当于变量的值, ...

  10. python3语法糖------装饰器

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """装饰器""" ###### 第一波 ## ...

最新文章

  1. cmd系统命令不识别
  2. TablePlus 3中文版
  3. 最短路径问题(Floyd算法)
  4. 使用ExecutorService来停止线程服务
  5. [NOI2015]寿司晚宴(状压dp)
  6. HDFS节点内数据平衡
  7. ubuntu 16.04 + zabbix 3.4 + postgresql libzbxpgsql
  8. go读取email正文_Go语言库系列之email
  9. 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·002 训练神经网络
  10. 搜索引擎蜘蛛及网站robots.txt文件详解[转载]
  11. Java 设计模式 之 代理模式(Proxy)
  12. 电商管理系统的作用?好用的电商管理系统有哪些特点?
  13. 如何阅读源码,阅读源码的难点和方法分析
  14. 光纤接口类型及光纤收发器指示灯图解
  15. C语言:字符串中各类字符数的统计
  16. 企业网站优化操作步骤分享
  17. useCallback包裹函数,但是使用到的外部变量一直是最开始的值
  18. 基于Verilog HDL与虚拟实验平台的【计算机组成】与CPU实验第三章:三态门和多路器
  19. Linux应急响应之挖矿篇
  20. html设置背景图片自适应

热门文章

  1. 数据结构最短路径例题_数据结构算法实验8图的最短路径问题附源代码.doc
  2. 集合初始化时,指定集合初始值大小
  3. 计算机网络上网时间,电脑怎么限制上网时间
  4. python class函数报错_Python multiprocess pool模块报错pickling error问题解决方法分析
  5. 几个高逼格 Linux 命令!
  6. mysql-5.5.8_MySQL5.5.8安装
  7. java conf_JAVA 解析、编辑nginx.conf
  8. 碎片时间学习前端,我推荐这些~
  9. 【更名通知】将以个人名义继续更新维护
  10. 前端人员如何在linux服务器上搭建npm私有库