python @修饰符_python修饰符的引用计次问题

今天第一次接触修饰符,想利用修饰符,在运行脚本的时候,加入修饰符被调用的次数从而显示出来。可能我说不明白,但是运行脚本,我想要的结果是这样的:

1 'xxxx' 'xxxxx'

2 'sdawd' 'sdasdad

后面那些字符不重要,重要的是序列1和2。但是,无论我如何的修改脚本,都不能为修饰符加入计次,为什么?

1、首先我遇到的问题,为什么引用的次数不是递增则是直接显示累计的结果?

#!/usr/bin/python

#--*encoding=utf8--*

import os

num=0

def hehe(w=1):

global num

num=sum+1

def xiushiqi(fun):

def test(*args):

os.chdir('/var/tmp')

print num,os.getcwd(),fun(*args)

return test

return xiushiqi

@hehe(num)

def ljq(x,y,z):

return x*y+z

@hehe(num)

def xx(x,y,z):

return x*y+z

@hehe(num)

def xwx(x,y,z):

return x*y+z

ljq(2,9,29)

xx(22,9,29)

xwx(8,9,29)

[root@test-A opt]# python c.py

3 /var/tmp 47

3 /var/tmp 227

3 /var/tmp 101

每次,我的确引用了3次,但是按照正常来说,输出不应该是这样么?

1 /var/tmp 47

2 /var/tmp 227

3 /var/tmp 101

当第一次引用ljq时,sum就是为sum=sum+1,就是说应该显示的是1才对,为什么全部都为3(总共被引用的次数)??

无论我把sum=sum+1改为sum+=1还是sum=sum+w结果都一样,这个可以理解。因为都只是+1的不同写法,就是不能明白为什么。。。显示的是总引用次数

2、有没有一种比较好的方法实现我的需求???

菜鸟才疏学浅,求教各位大侠帮忙解决这个问题,谢谢

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值