鱼C论坛

 找回密码
 立即注册
查看: 3529|回复: 1

新手关于拓展阅读修饰符的疑问

[复制链接]
发表于 2021-2-24 19:16:01 | 显示全部楼层 |阅读模式
10鱼币
新手求教各位大佬:
1.为什么还要在 timeslong 函数里再定义一个 call 函数?
  1. import time

  2. def timeslong(func):
  3.     def call():
  4.         start = time.clock()
  5.         print("It's time starting ! ")
  6.         func()
  7.         print("It's time ending ! ")
  8.         end = time.clock()
  9.         return "It's used : %s ." % (end - start)
  10.     return call

  11. @timeslong
  12. def f():
  13.     y = 0
  14.     for i in range(10):
  15.         y = y + i + 1
  16.         print(y)
  17.     return y

  18. print(f())
复制代码

2.如果代码修改如下,为什么不执行“return "It's used : %s ." % (end - start)”?
  1. import time

  2. def timeslong(func):
  3.     start = time.perf_counter()
  4.     print("It's time starting ! ")
  5.     func()
  6.     print("It's time ending ! ")
  7.     end = time.perf_counter()
  8.     return "It's used : %s ." % (end - start)


  9. def f():
  10.     y = 0
  11.     for i in range(10):
  12.         y = y + i + 1
  13.         print(y)
  14.     return y


  15. timeslong(f)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-2-24 19:46:24 | 显示全部楼层
将第 20 行的
  1. timeslong(f)
复制代码

改为
  1. print(timeslong(f))
复制代码

就可以了吧
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-27 10:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表