鱼C论坛

 找回密码
 立即注册
查看: 3136|回复: 2

[已解决]代码中的func是什么

[复制链接]
发表于 2016-4-22 10:39:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请大神帮忙看一下这段代码,代码里两次出现的func是什么意思?谢谢。


import time

def timeslong(func):
    start = time.clock()
    print("It's time starting ! ")
    func()
    print("It's time ending ! ")
    end = time.clock()
    return "It's used : %s ." % (end - start)
最佳答案
2016-4-22 11:36:48
这个程序是测定某个函数的运行时间。
func作为一个参数被函数timeslong调用,并在函数体内执行。简单举个例子:
  1. >>> def a():
  2.         print('我是函数a')

  3.        
  4. >>> def b(f): #这里用f表示需调用的函数
  5.         print('开始。。。。')
  6.         f() #调用函数f
  7.         print('结束。。。。')

  8.        
  9. >>> b(a)
  10. 开始。。。。
  11. 我是函数a
  12. 结束。。。。
  13. >>> #函数的实参变为了a
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-4-22 11:36:48 | 显示全部楼层    本楼为最佳答案   
这个程序是测定某个函数的运行时间。
func作为一个参数被函数timeslong调用,并在函数体内执行。简单举个例子:
  1. >>> def a():
  2.         print('我是函数a')

  3.        
  4. >>> def b(f): #这里用f表示需调用的函数
  5.         print('开始。。。。')
  6.         f() #调用函数f
  7.         print('结束。。。。')

  8.        
  9. >>> b(a)
  10. 开始。。。。
  11. 我是函数a
  12. 结束。。。。
  13. >>> #函数的实参变为了a
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-22 19:28:34 | 显示全部楼层
个人理解应该是,第一个func是个函数名作为参数,第二个func()是函数本身。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-19 20:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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