我在从一个类的实例中计时一个函数时遇到了一些真正的麻烦。我不确定我是否以正确的方式进行操作(以前从未使用过 timeIt),并且我尝试了第二个参数的一些变体来导入东西,但没有运气。这是我正在做的一个愚蠢的例子:
import timeit
class TimedClass():
def __init__(self):
self.x = 13
self.y = 15
t = timeit.Timer("self.square(self.x, self.y)")
try:
t.timeit()
except:
t.print_exc()
def square(self, _x, _y):
print _x**_y
myTimedClass = TimedClass()
哪个,当运行时,抱怨自我。
Traceback (most recent call last):
File "timeItTest.py", line 9, in __init__
t.timeit()
File "C:\Python26\lib\timeit.py", line 193, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
self.square(self.x, self.y)
NameError: global name 'self' is not defined
这与 TimeIt 创建了一个小虚拟环境来运行该函数有关,但是我必须将什么传递给第二个参数才能让它变得快乐?