首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Timeit.timeit错误(未定义名称'func‘)

Timeit.timeit错误(未定义名称'func‘)
EN

Stack Overflow用户
提问于 2020-05-29 23:25:26
回答 2查看 202关注 0票数 0

我尝试执行timeit.timeit("func()") (func是我自己定义的函数),但是,我总是得到错误name 'func' is not defined。使用Jupyter Notebook (我知道Jupyter的魔法timeit,但我想知道为什么这不起作用?)

EN

回答 2

Stack Overflow用户

发布于 2020-05-29 23:27:21

最有可能的是你在寻找(不加引号,直接):

代码语言:javascript
复制
timeit.timeit(func, number=1000)

而不是

代码语言:javascript
复制
timeit.timeit("func()", number=1000)

要使用参数或其他函数,请使用三引号,例如:

代码语言:javascript
复制
import timeit
import_module = "import whatever_module"
testcode = ''' 
def test():
    # some nasty operations here
    pass
'''
print(timeit.repeat(stmt=testcode, setup=import_module))

代码必须是自包含的,不允许外部引用。

票数 0
EN

Stack Overflow用户

发布于 2020-05-29 23:31:02

如果要将其与第一个参数a字符串一起使用,则该字符串必须包含您的完整代码,例如:

代码语言:javascript
复制
s = """
def func(n=10000):
    return [x ** 2 for x in range(n)]


func(10000)
"""


timeit.timeit(s)

或者您需要使用setup参数:

代码语言:javascript
复制
s = """
def func(n=10000):
    return [x ** 2 for x in range(n)]
"""


timeit.timeit("func()", setup=s)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62089410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档