鱼C论坛

 找回密码
 立即注册
查看: 2136|回复: 3

timeit的用法请教

[复制链接]
发表于 2017-2-10 11:35:45 | 显示全部楼层 |阅读模式

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

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

x
先编写一个函数,然后期望计算该函数的运行时间。代码如下:


  1. def foo1(a,b):                                  #定义foo1函数
  2.     "求水仙花数"
  3.     print("计算出来的水仙花数为:")
  4.     for i in range(a,b):
  5.         if i == ((i//100)**3+((i//10)%10)**3+(i%10)**3):
  6.             print(i)

  7. import timeit
  8. t1 = timeit.Timer("foo1(100,1000)")         #调用foo1函数,并计算运行时间
  9. print(t1.timeit())
复制代码


为何执行时,总打印如下错误信息:
Traceback (most recent call last):
  File "<pyshell#77>", line 1, in <module>
    print(t1.timeit())
  File "C:\Users\forpandan\AppData\Local\Programs\Python\Python36\lib\timeit.py", line 178, in timeit
    timing = self.inner(it, self.timer)
  File "<timeit-src>", line 6, in inner
NameError: name 'foo1' is not defined

函数foo1不是已经定义过了吗?非常感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-10 11:46:24 | 显示全部楼层
def test():
    """Stupid test function"""
    L = [i for i in range(100)]

if __name__ == '__main__':
    import timeit
    print(timeit.timeit("test", setup="from __main__ import test"))

评分

参与人数 1荣誉 +1 鱼币 +1 贡献 +1 收起 理由
haskye + 1 + 1 + 1

查看全部评分

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

使用道具 举报

 楼主| 发表于 2017-2-10 16:14:22 | 显示全部楼层

嗯嗯,多谢解答
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-10 16:55:08 | 显示全部楼层
还看不懂,但学习一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-25 08:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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