python 方法加强@ pytho中@ python@

#通过debug在第一行打断点调试就可以很清楚的知道注解的执行流程 
print("=====python功能加强=====")

### 当使用@时调用,并且将变量传递进来 
def annotation(a_value):
    print ("init annotation ==>> :" + a_value)

    ### 当使用@时调用,并且将被加强的函数当作参数传入进来
    def function(function_name):
        print("init =>> function : " + str(a_value) + " " + str(function_name))

        ### 当被加强的方法调用时加强功能才被调用
        def arguments(**parameter):
            print("call ==>> : " + str(a_value) + " " + str(function_name))
            return function_name(**parameter)
        return arguments
    return function


### @annotation(a_value="test") 可以转变为 test=annotation(a_value="test")()
@annotation(a_value="test")
def test():
    print "ok"


### 使用代码方式展现功能加强
def x():
    print "x"


t = annotation("call test")(x)

print("====================")
t()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值