Python 函数未定义

DRoc101

我正在尝试使用 timeit 创建一个程序,该程序最终会打印出另一个程序的 bigO。如果我尝试使用 lambda 而不是字符串参数,程序就会挂起。如果我使用如下所示的字符串 arg,我会收到发布的错误。

pdralston@jeff:~$ python3 as10.py cs23_as10_constant
Traceback (most recent call last):
  File "as10.py", line 15, in <module>
    elapsed_1 = timeit.timeit("func_run('1024')")
  File "/usr/lib/python3.5/timeit.py", line 213, in timeit
    return Timer(stmt, setup, timer, globals).timeit(number)
  File "/usr/lib/python3.5/timeit.py", line 178, in timeit
    timing = self.inner(it, self.timer)
  File "<timeit-src>", line 6, in inner
NameError: name 'func_run' is not defined

不愉快的代码

import sys
import subprocess
import timeit

command = sys.argv[1]#command line arg for executable to be tested
def func_run(parameter): #looks pretty defined to me...
        subprocess.run([command, parameter])#runs the executable with an arg for data sample size
answers = { #will use this for output eventually 
    0: "O(1)",
    1: "O(log n)",
    2: "O(n)",
    3: "O(n log n)",
    4: "O(n^2)",
    5: "O(n^3)"}
elapsed_1 = timeit.timeit("func_run('1024')")#also tried lambda: func_run("1024") instead of a string
elapsed_2 = timeit.timeit("func_run('4096')")
elapsed_growth = elapsed_2 / elapsed_1
print(elapsed_growth)
穆尔图扎Z

您需要包装您的功能。

import sys
import subprocess
import timeit

command = sys.argv[1]

def wrapper(func, *args, **kwargs):
     def wrapped():
         return func(*args, **kwargs)
     return wrapped

def func_run(parameter):
        subprocess.run([command, parameter])

yourArgs_1 = '1024'
yourArgs_2 = '4096'

wrapped_1 = wrapper(func_run, yourArgs_1)
wrapped_2 = wrapper(func_run, yourArgs_2)

answers = { 
    0: "O(1)",
    1: "O(log n)",
    2: "O(n)",
    3: "O(n log n)",
    4: "O(n^2)",
    5: "O(n^3)"}

elapsed_1 = timeit.timeit(wrapped_1)
elapsed_2 = timeit.timeit(wrapped_2)
# Provide number of execution with number argument in timit function
# timeit.timeit(wrapped_1, number=10)
elapsed_growth = elapsed_2 / elapsed_1
print(elapsed_growth)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

函数未定义(Selenium / python)

来自分类Dev

Python,错误:“未定义函数”,

来自分类Dev

函数名称在python类中未定义

来自分类Dev

在函数参数列表中未定义Python“ self”

来自分类Dev

Python:调用包含变量的函数时,变量未定义

来自分类Dev

口译员:Python内置函数未定义吗?

来自分类Dev

python函数Namerror:未定义名称'dictionary'

来自分类Dev

递归函数上的Python AST exec“ ...未定义”错误

来自分类Dev

Python:调用包含变量的函数时,变量未定义

来自分类Dev

未定义对python-dev标头中的函数的引用

来自分类Dev

Ubuntu Python:“ get_mac”函数未定义

来自分类Dev

Python类未定义?

来自分类Dev

未定义Python变量

来自分类Dev

未定义变量(Python)

来自分类Dev

python self 未定义

来自分类Dev

Python 3 exec方法:NameError:未定义已定义函数的名称

来自分类Dev

在Python中使用(到目前为止)Lambda函数中的未定义函数

来自分类Dev

在另一个函数中调用时未定义函数(Python)

来自分类Dev

使用函数参数的函数中的 Python 类抛出 NameError:未定义名称“x”

来自分类Dev

使用ctypes将C ++函数导出到python:未定义符号

来自分类Dev

python 3中的函数注释获取“名称未定义”错误

来自分类Dev

python spark lambda函数“ nameError:未定义名称'x'”。我究竟做错了什么?

来自分类Dev

Python cx-freeze ImportError:动态模块未定义init函数

来自分类Dev

未定义全局变量-Python

来自分类Dev

Python:未定义全局名称“ maximum”

来自分类Dev

未定义Python Pandas figsize

来自分类Dev

Python:NameError:未定义名称“ Stack”?

来自分类Dev

Python gdal未定义符号GDALRasterBandGetVirtualMem

来自分类Dev

在python中使用未定义的变量

Related 相关文章

  1. 1

    函数未定义(Selenium / python)

  2. 2

    Python,错误:“未定义函数”,

  3. 3

    函数名称在python类中未定义

  4. 4

    在函数参数列表中未定义Python“ self”

  5. 5

    Python:调用包含变量的函数时,变量未定义

  6. 6

    口译员:Python内置函数未定义吗?

  7. 7

    python函数Namerror:未定义名称'dictionary'

  8. 8

    递归函数上的Python AST exec“ ...未定义”错误

  9. 9

    Python:调用包含变量的函数时,变量未定义

  10. 10

    未定义对python-dev标头中的函数的引用

  11. 11

    Ubuntu Python:“ get_mac”函数未定义

  12. 12

    Python类未定义?

  13. 13

    未定义Python变量

  14. 14

    未定义变量(Python)

  15. 15

    python self 未定义

  16. 16

    Python 3 exec方法:NameError:未定义已定义函数的名称

  17. 17

    在Python中使用(到目前为止)Lambda函数中的未定义函数

  18. 18

    在另一个函数中调用时未定义函数(Python)

  19. 19

    使用函数参数的函数中的 Python 类抛出 NameError:未定义名称“x”

  20. 20

    使用ctypes将C ++函数导出到python:未定义符号

  21. 21

    python 3中的函数注释获取“名称未定义”错误

  22. 22

    python spark lambda函数“ nameError:未定义名称'x'”。我究竟做错了什么?

  23. 23

    Python cx-freeze ImportError:动态模块未定义init函数

  24. 24

    未定义全局变量-Python

  25. 25

    Python:未定义全局名称“ maximum”

  26. 26

    未定义Python Pandas figsize

  27. 27

    Python:NameError:未定义名称“ Stack”?

  28. 28

    Python gdal未定义符号GDALRasterBandGetVirtualMem

  29. 29

    在python中使用未定义的变量

热门标签

归档