python装饰器的使用
为什么使用装饰器?
1、可以在不改变原有对象的情况下为对象添加更多动能
2、可以保证了和被装饰对象的接口不变
3、灵活地扩充新功能
4、多个装饰器可以根据不同的需要,组合使用
正常代码输出2到10000之间的所有质数和程序执行时间(没有参数和返回值)
缺点:prime_nums方法里面的代码既有循环逻辑代码,又有时间获取代码。是不是显得比较混乱。
使用装饰器输出2到10000之间的所有质数和程序执行时间(没有参数和返回值)
程序执行流程:在执行prime_nums方法时:会跳到display_time方法执行。传入的参数就是prime_nums方法。
优点:程序执行时间统计和循环的逻辑代码是不是分开了。
上面的prime_nums方法此时并没有返回值,但如果需要返回值该怎么接收呢
使用装饰器输出2到10000之间的所有质数,程序执行时间和质数的个数(只有返回值没有参数)
错误代码:
一般逻辑思想不就是定义一个变量去统计质数出现的次数,到最后返回,为什么就读取不到呢?
正确代码:
此时又有一个问题就是如果有参数需要传入该怎么办呢?
使用装饰器输出2到某个数之间的所有质数,程序执行时间和质数的个数(既有返回值又有参数)
错误代码:
正确代码: