扫码关注官方订阅号
因为你的foo2已经在定义时就被timeit装饰(语法上@)了一次啦! 装饰后的foo2又被timeit显示装饰(函数调用)一次并赋给foo3, 所以会出现两次used.
foo2
timeit
@
foo3
在foo2上面@timeit已经装饰了一次(这个在你第二次调用foo2的时候都有体现), 然后你再用timeit(foo2), 这样就等价于:
@timeit
timeit(foo2)
pythondef foo_two(): print("in foo2") foo2 = timeit(foo_two) foo3 = timeit(foo2) foo3()
python
def foo_two(): print("in foo2") foo2 = timeit(foo_two) foo3 = timeit(foo2) foo3()
装饰了两遍.
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
因为你的
foo2
已经在定义时就被timeit
装饰(语法上@
)了一次啦! 装饰后的foo2
又被timeit
显示装饰(函数调用)一次并赋给foo3
, 所以会出现两次used.在foo2上面
@timeit
已经装饰了一次(这个在你第二次调用foo2的时候都有体现), 然后你再用timeit(foo2)
, 这样就等价于:装饰了两遍.