文档章节

Python装饰器demo

健康的程序员
 健康的程序员
发布于 2017/09/12 13:41
字数 121
阅读 6
收藏 0

无参

def test(fun):
    print('log - 1')

    def decorator(a, b):
        print('log - 3')
        fun(a, b)
        print('log - 4')

    print('log - 2')
    return decorator


@test
def fun(a, b):
    print(a + b)


if __name__ == '__main__':
    fun(10, 20)


output:
-----------------
log - 1
log - 2
log - 3
30
log - 4

有参

def test(arg):
    print('log - 1')

    def _start(fun):
        print('log - 3')

        def decorator(a, b):
            print('log - 5 ')
            fun(a, b)
            print(' log - 6')

        print('log - 4')
        return decorator

    print('log - 2')
    return _start


@test('abc')
def fun(a, b):
    print(a + b)


if __name__ == '__main__':
    fun(10, 20)


output:
--------------------
log - 1
log - 2
log - 3
log - 4
log - 5 
30
 log - 6

 

© 著作权归作者所有

共有 人打赏支持
健康的程序员
粉丝 7
博文 159
码字总数 39232
作品 0
杭州
程序员
转载:唐磊的个人博客《python中decorator详解》【转注:深入浅出清晰明了】

转载请注明来源:唐磊的个人博客《python中decorator详解》 前面写python的AOP解决方案时提到了decorator,这篇文章就详细的来整理下python的装饰器——decorator。 python中的函数即objects...

laugh2last
2015/08/17
0
0
设计模式之:理解 Python 中的装饰器

1、问题 文章先由stackoverflow上面的一个问题引起吧,如果使用如下的代码: @makebold @makeitalic def say(): return "Hello" 打印出如下的输出: <b><i>Hello<i></b> 你会怎么做?最后给出......

大数据之路
2013/07/22
0
0
python 装饰器及标准库functools中的wraps

最近在看 flask的视图装饰器 时,忽然想起预(复)习一下python的装饰器. 这里有一篇比较好的讲解装饰器的书写的 Python装饰器学习(九步入门) . 这里不单独记录装饰器的书写格式了,重点是工作...

L很失败L
2015/08/20
0
0
Python基础——装饰器、模块(0417)

一、Python基础——复习 1、字符串的常用操作 2、列表的常用操作 3、字典的常用操作 二、Python——装饰器:函数可以是变量 1、Python是一种面向对象的编程语言,在Python中所有的都可以是Pyt...

python初雪之路
04/17
0
0
Python装饰器AOP 不定长参数 鸭子类型 重载(三)

1 可变长参数与关键字参数 代表任意长度可变参数 代表关键字参数 用和只是为了方便并没有强制使用它们. 缺省参数即是调用该函数时,缺省参数的值若未被传入,则传入默认预设的值。 注意 : 须...

善良小郎君
06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

vue组件传值之(父子)

⚠️组件的作用域是孤立的,vue解决组件传值问题是通过props ⚠️子传父的时候需要vm.$emit触发实例上的事件,页面需要定一个方法去取值 ⚠️一定要注意命名方式和书写,例如mylChart和myl-c...

peakedness丶
5分钟前
0
0
SpringBoot开发案例之整合Dubbo分布式服务

前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 ...

微笑向暖wx
19分钟前
0
0
TypeScript基础入门之装饰器(二)

转发 TypeScript基础入门之装饰器(二) 装饰器求值 如何应用装饰器应用于类内的各种声明的顺序: 1. 对每个实例成员应用参数装饰器,后跟Method,Accessor或Property Decorators。 2. 对每个静...

durban
19分钟前
0
0
Java程序员年薪40W是什么水平?税前还是税后?

很多人学Java都是冲着Java的高薪来的,那么搞Java的程序员,年薪40W到底是个什么水平呢,本文达妹和大家一起探讨一下。 前几天在论坛看到这么一个问题,搞Java的程序员年薪40w是什么水平?一...

架构师springboot
25分钟前
1
0
区块链100讲:盘点那些常用的加密算法原理

在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使用同一个密钥,适合对大量数据进行加解密 安全性:关键是密钥的保存方式...

HiBlock
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部