`
idning
  • 浏览: 135671 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python 的函数 decorator

 
阅读更多

>>> def public_bucket (func):                                                                              
...     func.attr = ['run_on_public_bucket_only']                                                          
...     return func   
... 
>>> 
>>> def b():
...     pass
... 
>>> @public_bucket
... def a():
...     pass
... 
>>> b
<function b at 0xb73b3e2c>
>>> dir(b)
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
>>> dir(a)
['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '__format__', '__get__', '__getattribute__', '__globals__', '__hash__', '__init__', '__module__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'attr', 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name']
>>> a.attr
['run_on_public_bucket_only']
分享到:
评论

相关推荐

    python实现Decorator模式实例代码

    本文研究的主要是python实现Decorator模式,具体介绍如下。 一般来说,装饰器是一个函数,接受一个函数(或者类)作为参数,返回值也是也是一个函数(或者类)。首先来看一个简单的例子: # -*- coding: utf-8 -*- ...

    python装饰器decorator介绍

    python中的decorator通常为输入一个函数,经过装饰后返回另一个函数。 比较常用的功能一般使用decorator来实现,例如python自带的staticmethod和classmethod。 装饰器有两种形式: 复制代码 代码如下: @A def foo()...

    Python中decorator使用实例

    主要介绍了Python中decorator使用实例,本文讲解了如何调用decorator、decorator函数的定义、decorator的应用场景等内容,需要的朋友可以参考下

    Python装饰器decorator用法实例

    本文实例讲述了Python装饰器decorator用法。分享给大家供大家参考。具体分析如下: 1. 闭包(closure) 闭包是Python所支持的一种特性,它让在非global scope定义的函数可以引用其外围空间中的变量,这些外围空间中...

    Python中用Decorator来简化元编程的教程

    少劳多得 Decorator 与 Python 之前引入的元编程抽象...Decorator 所实现的功能就是修改紧接 Decorator 之后定义的函数和方法。这总是可能的,但这种功能主要是由 Python 2.2 中引入的 classmethod() 和 staticmethod

    如何实现一个python函数装饰器(Decorator)

    装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。它经常用于为已有函数/类添加记录日志、计时统计、性能测试等。 首先...

    Python基础知识总结笔记(四)函数

    Python基础知识总结笔记(四)函数 python中的函数 函数中的参数 变量作用域 偏函数PFA 递归函数 高阶函数 BIFs中的高阶函数 匿名函数lambda 闭包Closure 装饰器Decorator 函数式编程Functional Programming 1. ...

    python-base.py: 千行代码入门Python python-visual.py: 15张图入门Matplotlib

    python_base.py: 千行代码入门Python python_visual.py: 15张图...python_functional.py: Python进阶: 函数式编程实例(附代码) python_decorator.py: Python进阶: 通过实例详解装饰器(附代码) python_datetime.p

    Python使用logging结合decorator模式实现优化日志输出的方法

    本文实例讲述了Python使用logging结合decorator模式实现优化日志输出的方法。分享给大家供大家参考,具体如下: python内置的loging模块非常简便易用, 很适合程序运行日志的输出。 而结合python的装饰器模式,则可...

    python中的decorator的作用详解

    在python中,装饰器(decorator)分为 函数装饰器 和 类装饰器 两种。python中内置的@语言就是为了简化装饰器调用。 列出几个装饰器函数: 打印日志:@log 检测性能:@performance 数据库事务:@transaction URL路由...

    LearnPython-master.zip

    python_base.py: 千行代码入门Python python_visual.py: 15张图...python_functional.py: Python进阶: 函数式编程实例(附代码) python_decorator.py: Python进阶: 通过实例详解装饰器(附代码) python_datetime.p

    awesome-python-decorator:精选的python装饰器资源精选清单

    很棒的Python装饰器 精选的python装饰器资源的精选列表。 你不知道装饰 这里是有关python装饰器的一些资源。 此页面在很大程度上记录了将装饰器添加到Python的过程的历史。 此页面旨在作为装饰器代码段的中央存储库...

    Python 中的闭包、匿名函数、decorator 装饰器与python的偏函数

    Python中的闭包 def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum 像这种内层函数引用了外层函数的变量(参数也算变量),然后返回内层函数的情况,称为闭包(Closure)。在函数内部定义的...

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

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

    12步入门Python中的decorator装饰器使用方法

    装饰器(decorator)是一种高级Python语法。装饰器可以对一个函数、方法或者类进行加工。在Python中,我们有多种方法对函数和类进行加工,比如在Python闭包中,我们见到函数对象作为某一个函数的返回结果。相对于其它...

    python面试题目-python-python经典面试题目-Python语言的基本概念-常用的功能和特性-编程范式-面试题目

    什么是Python中的装饰器(Decorator)?如何使用装饰器? Python中的生成器(Generator)是什么?如何创建和使用生成器? 什么是Python中的迭代器(Iterator)和可迭代对象(Iterable)? Python中如何处理异常...

    一波神奇的Python语句、函数与方法的使用技巧总结

    当发布python第三方package时,并不希望代码中所有的函数或者class可以被外部import,在__init__.py中添加__all__属性,该list中填写可以import的类或者函数名, 可以起到限制的import的作用, 防止外部import其他...

    python-makefun:动态创建具有适当签名的python函数

    小型库,可动态创建python函数。 这是开发人员的自述文件。 用户文档可在以下位置找到: : 想要贡献? 欢迎捐款! 只需将该项目分叉到github上,提交您的贡献并创建请求请求即可。 这是有趣的开放主题的详尽...

    Python如何创建装饰器时保留函数元信息

    问题 你写了一个装饰器作用在某个函数上,但是这个函数的重要的元信息比如名字、文档字符串、注解和... Decorator that reports the execution time. ''' @wraps(func) def wrapper(*args, **kwargs): start = ti

    cachier:用于Python函数的持久,无陈旧,本地和跨计算机缓存

    cachier:用于Python函数的持久,无陈旧,本地和跨计算机缓存

Global site tag (gtag.js) - Google Analytics