码迷,mamicode.com
首页 > 编程语言 > 详细

关于python的装饰器简单实用

时间:2015-04-09 17:22:56      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

python调用函数可以提供 key=value 代表这个参数的值,我们可以不用根据函数定义顺序来调用函数。。。。
(*a,**b)  可以作为装饰器提供不定参数。。。使装饰器和被装饰函数 耦合度大幅度降低


函数 def func():
                return 1
///返回 函数的名字  
func.__name__ 

//////通过装饰器实现类的静态方法
class Class:
    @staticmethod
    def OK():
        print "OK"
Class.OK()
/////不定参数装饰器  
#encoding=utf-8
def deco(func):
    def _infunc(*args,**kvargs):
        print("before myfunc() called.")
        func(*args,**kvargs)
        print("after myfunc() called.")
    return _infunc
@deco
def MyFunc(a,b):
    print "a+b=",a+b
@deco
def MyFunc1(a,b,c):
    print "a+b+c=",a+b+c
MyFunc(1,2)
MyFunc1(b=1,a=100,c=8)
////装饰器带参数的 不定参数装饰器
#encoding=utf-8
def decco(arg):
    def _deco(func):
        def _infunc(*args,**kvargs):
            print("before myfunc() called. args:%s" % arg)
            func(*args,**kvargs)
            print("after myfunc() called.args:%s" % arg)
        return _infunc
    return _deco
@decco("aaa")
def MyFunc(a,b):
    print "a+b=",a+b
@decco("bbb")
def MyFunc1(a,b,c):
    print "a+b+c=",a+b+c
 
MyFunc(1,2)
MyFunc1(b=1,a=100,c=8)

关于python的装饰器简单实用

标签:

原文地址:http://blog.csdn.net/yue7603835/article/details/44962505

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!