问一个关于Python装饰器的理解问题

装饰 理解 Python
菩缇紫mariposa  
网友的回答
yanrongsun

前一种写法 func代码无法复用到多个函数
后一种一处定义func(这也是很多库函数的实现方式),到处使用更多追问追答&xe771;追问额,多问一下。我有点不太明白,第一个为啥不能复用啊,不是在函数前加@func就行了吗?追答我可能看错了问题
你的截图不全,还有没必要把某个实现注释掉
你把两种实现方式分两个图片分别发出来看看追问这截图就是全的啊,第二个只多定义了一个denner函数而已追答那上面的注释又是什么
分两个图片,不要注释好些追问第一个就这样再加一个调用语句cut()就行第二个就是没有注释的内容咯追答大概明白你的意思了
你这个函数是print,没返回,所以看起来大概是一样的
你试一下两种方式定义的装饰器如果被装饰的函数都需要调用得到返回值,那效果还一样吗追问方式一提示错误额,发错了&39;float&39; object is not callable请问一下这是为啥啊?追答python对于装饰器的装饰过程相当于这样一句:
cut func(cut)
你的func没有返回任何信息
所以等号赋值的左边应该是None
然后你再调用cut() 就会出现TypeError: &39;NoneType&39; object is not callable
不过我很怀疑为什么你说你上面代码的错误是float

先米团子

Python作为一个动态的脚本语言,其函数在定义时是不需要指出参数的类型,也不需要指出函数是否有返回值。使用python的装饰器来定义一个像C++那样的强类型函数。接下去,先介绍python3中关于函数的定义。

boneash2004

简单来讲,可以不严谨地把Python的装饰器看做一个包装函数的函数。 比如,有一个函数: de unc(): print 'unc() run.' i '__main__' == __name__: unc() 运行后将输出: unc() ru...

小野妹渣

我建议您使用水性清漆 说明几点 第一,水性漆环保,没有味道,因为砖的缝隙会产生渗入... 水性亚光可以保护墙体特有的色彩和光线模式 当然,任何东西有好就有坏 这种漆偏软...

L张小猛

需要处理墙面基层,非常好的话不需要处理,否则贴不出来效果。要是基层不好的话,原来看不出来的毛,贴完壁纸都能看到。 所以建议处理墙底在贴。

林小贱灬

s = 'CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGACTGGGAACCTGCGGGCAGTAGGTGGAAT' print len(s) count = 0 or char in range(len(s)): print char '''i list(s()) == 'C': count += 1 else s(char) == 'G': # s(g)是函数的调...1