注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

旷世的忧伤

不与夏虫语寒,不与曲人语道,因为生命缺乏言说的条件......

 
 
 

日志

 
 

Python带参数的装饰器  

2014-10-24 13:16:34|  分类: Python示例代码 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#! /usr/bin/env python
# -*- coding: utf-8 -*-

# *************************************************************
# Filename @ decomaker.py
# Author @ Huoty
# Create date @ 2014-10-24 13:12:30
# Description @ 带参数的装饰器
# *************************************************************


deco_args = "HaHa"


def decomaker(arg):
'通常对arg会有一定的要求'
"""由于有参数的decorator函数在调用时只会使用应用时的参数
而不接收被装饰的函数做为参数,所以必须在其内部再创建
一个函数
"""
def newDeco(func): #定义一个新的decorator函数
print func, arg
return func
return newDeco

@decomaker(deco_args)
def foo():pass

# Script starts from here

foo()

# 第一个函数decomaker是装饰函数,
# 它的参数是用来加强“加强装饰”的。
# 由于此函数并非被装饰的函数对象,
# 所以在内部必须至少创建一个接受被装饰函数的函数,
# 然后返回这个对象(实际上此时foo=decomaker(arg)(foo))

运行结果:

<function foo at 0x9889764> HaHa

参考:http://blog.csdn.net/thy38/article/details/4471421
  评论这张
 
阅读(1)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018