`
icbm
  • 浏览: 59902 次
社区版块
存档分类
最新评论

Python的装饰器(decorator)

阅读更多
# coding=utf-8

"""装饰器:
"""

def deco(func):
"""无参数装饰器,接受一个函数,返回一个新的函数。
"""
    def f(*args, **kwargs):
        print "----", func.__name__
        result = func(*args, **kwargs)
        print "++++", func.__name__
        f.__name__ = func.__name__
        return result

    return f


def deco_params(msg):
"""有参数装饰器,接受一个函数,返回一个无参数装饰器。
"""
    def f(func):
        def f2(*args, **kwargs):
            print ">>>>", msg, func.__name__
            result = func(*args, **kwargs)
            print "<<<<", msg, func.__name__
            return result

        f2.__name__ = func.__name__
        return f2

    return f

@deco
@deco_params("ORANGE")
@deco_params("APPLE")
def f1_test(n):
    print "orange", n

if __name__ == "__main__":
    f1_test(30)


执行结果如下:
D:\ATMP\python>python test02.py
---- f1_test
>>>> ORANGE f1_test
>>>> APPLE f1_test
orange 30
<<<< APPLE f1_test
<<<< ORANGE f1_test
++++ f1_test

分享到:
评论

相关推荐

    python装饰器decorator介绍

    一、装饰器decorator decorator设计模式允许动态地对现有的对象或函数包装以至于修改现有的职责和行为,简单地讲用来动态地扩展现有的功能。其实也就是其他语言中的AOP的概念,将对象或函数的真正功能也其他辅助的...

    Python装饰器decorator用法实例

    Python装饰器是编程中一种强大的工具,用于在不修改原函数代码的情况下,向函数添加额外功能。装饰器本质上是一个接收函数作为输入并返回新函数的函数。这种设计模式在Python中广泛使用,因为它允许程序员优雅地扩展...

    Python装饰器模式学习demo

    Python装饰器是一种高级编程技巧,它允许我们修改或增强函数、方法或类的行为,而无需对原始代码进行任何更改。装饰器本质上是一个接收一个函数作为输入并返回一个新的函数的函数。这种设计模式在Python中非常常见,...

    装饰器decorator_python_

    装饰器在Python编程中是一种强大的工具,它允许我们在不修改原始函数代码的前提下,为函数添加新的功能或行为。装饰器本质上是Python中的一个函数,它接收一个函数作为参数,并返回一个新的函数。这种设计模式在很多...

    python使用装饰器(Decorator)的方式实现单例模式

    demo python使用装饰器(Decorator)的方式实现单例模式 functools.wraps 则可以将原函数对象的指定属性复制给包装函数对象, 默认有 __module__、__name__、__doc__,或者通过参数选择

    python装饰器详解,python装饰器笔记心得.doc

    "Python装饰器详解" Python装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼。这也是Python面试中必问的问题。但对于好多初次接触这个知识的人来讲,这个功能有点绕,自学时直接绕过去了,...

    Python装饰器限制函数运行时间超时则退出执行

    ### Python装饰器限制函数运行时间超时则退出执行 在实际开发过程中,有时我们需要对某些函数的执行时间进行限制,即如果一个函数的执行超过了预设的时间,那么该函数将被强制停止执行,以避免长时间的阻塞或不必要...

    python中完善decorator共5页.pdf.zip

    这个“python中完善decorator共5页.pdf.zip”文件很可能是关于深入理解和高效使用Python装饰器的教程,包含5页详细内容。以下是对Python装饰器及相关知识点的详细解释: 1. **装饰器的基本概念**:装饰器本质上是一...

    python装饰器写的斗地主

    在这个“python装饰器写的斗地主”项目中,我们将深入探讨如何利用装饰器来实现斗地主游戏中的核心算法——洗牌和抓牌。 首先,斗地主游戏的基础是有一副完整的扑克牌,通常包含54张牌(52张常规牌加上两张鬼牌)。...

    通俗讲解python 装饰器

    总结来说,Python装饰器是实现代码复用和功能扩展的强大工具,它们允许我们在不修改原有函数代码的情况下,增加或修改函数的行为。通过熟练掌握装饰器,开发者能更好地组织和优化代码,提升代码质量和可维护性。

    python 装饰器(示例)

    Python装饰器是编程语言中的一个强大工具,它允许我们在不修改源代码的情况下,扩展或修改函数、类甚至模块的行为。装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,...

    8 Python 装饰器1

    Python装饰器详解 Python装饰器是Python中一种非常强大且灵活的工具,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能。装饰器的返回值也是一个函数对象,它经常用于有切面需求的场景,比如:插入日志...

    装饰器---python.pdf

    本篇文章将深入剖析Python装饰器的引入、作用、定义方法、以及如何应用装饰器进行实际编程。 首先,装饰器是面向对象编程中的一个概念,在其他编程语言中,装饰模式通常需要通过类的继承或者组合来实现。然而,...

    Python装饰器(decorator)定义与用法详解

    Python装饰器是Python语言中的一种高级特性,它允许我们在不修改原有函数代码的情况下,增加或扩展函数的功能。装饰器本质上是一个Python函数,它可以接收一个函数作为参数,并返回一个新的函数。这种设计模式在处理...

    带你了解python装饰器

    ### Python装饰器详解 #### 一、装饰器概念与作用 在Python中,装饰器是一种特殊类型的函数,它可以接收一个函数作为输入,并返回一个新的函数。装饰器的主要目的是增强或修改函数的功能,而无需更改原函数的代码...

    详解Python装饰器由浅入深

    【Python装饰器详解】 装饰器在编程中是一种强大的工具,尤其在Python中,它使得代码更加灵活和可扩展。装饰器本质上是一个接收函数并返回新函数的函数,它允许我们修改或增强函数的行为,而无需修改函数本身的源...

    python——retry装饰器(csdn)————程序.pdf

    retry 装饰器是指在 Python 中,使用装饰器(decorator)实现函数的重试机制。其主要思想是,在函数执行过程中,如果出现异常,retry 装饰器将捕捉到该异常,并根据设置的重试次数,重新执行该函数,直到函数执行...

    python装饰器简介—这一篇也许就够了(推荐)

    Python装饰器(decorator)是在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼。 装饰器引入 初期及问题诞生 假如现在在一个公司,有A B C三个业务部门,还有S一个基础服务部门,目前呢,S部门...

    01 python装饰器.docx

    Python装饰器是编程语言Python中的一个高级特性,它允许我们修改或增强已存在函数的功能,而无需更改函数的源代码。装饰器本质上是函数嵌套和高阶函数的结合,即一个函数接收另一个函数作为参数,并返回一个新的函数...

Global site tag (gtag.js) - Google Analytics