课程
/后端开发
/Python
/python进阶
三层和二层有什么用呢?不太懂
t=(t2-t1)*1000 if unit=='ms' else(t2-t1)是什么意思
2016-08-18
源自:python进阶 2-13
正在回答
这个就如例子@log("debug")或@log("info")是一样的, 如果直接@log(f)的话就不能传入debug或是info了,这个@performance(unit)也是一样的道理,细细体会吧。
ms和s的区别:当前默认的情况下是以s(秒)为单位,1s*1000放大1000倍的单位是ms(毫秒)了。
不给装饰器传参数的时候两层,是因为只需要传两个变量,分别是需要被修饰的函数的函数名()和它的参数。三层是因为又多了一个变量,装饰器的参数。还有那句话只判断了装饰器参数是否是ms,没有判断s。个人理解。
t=(t2-t1)*1000 if unit=='ms' else(t2-t1)
表示当unit为ms时,t取值为(t2-t1)*1000,当unit为s时,t取值为(t2-t1)
波函数的魔方 提问者
举报
学习函数式、模块和面向对象编程,掌握Python高级程序设计