32412 发表于 2016-2-17 08:23:04

Python装饰器实现在不改变原函数的作用下打印信息

                                                          
这是利用decorator实现的功能
decorator是接受一个函数作为参数,并返回一个函数
@log写在函数定义处实现的功能是 nows = log(nows)
这里我写的@log('nihao') 相当于 nows = log('nihao')(nows) 这里写了没有使用到

首先执行log('nihao')这个函数 返回wrapp这个函数
然后在调用wrapp这个函数 参数是nows函数 返回APP函数
调用app函数 (*args,**kw)表示可以接受任意参数的调用
先打印begin game
然后调用函数nows 打印2016-02-01
然后打印stop game










我之前16line调用函数那里写的nows() python报错      

                   

页: [1]
查看完整版本: Python装饰器实现在不改变原函数的作用下打印信息