擅长:python、mysql、java
<p>你为什么要在类内的计时本身计时?如果你不在课堂上计时,你只需传递一个参考。一、 e</p>
<pre><code>import timeit
class TimedClass():
def __init__(self):
self.x = 13
self.y = 15
def square(self, _x, _y):
print _x**_y
myTimedClass = TimedClass()
timeit.Timer(myTImedClass.square).timeit()
</code></pre>
<p>(当然类本身是多余的,我假设您有一个complexer用例,其中一个简单的方法是不够的)。</p>
<p>一般来说,只要传递一个包含/配置了所有设置的可调用文件。如果要传递要计时的字符串,它们应该包含所有必要的设置,即</p>
<pre><code>timeit.Timer("[str(x) for x in range(100)]").timeit()
</code></pre>
<p>如果您真的非常需要类内部的计时,请将调用包装为一个本地方法,即</p>
<pre><code>def __init__(self, ..):
def timewrapper():
return self.multiply(self.x, self.y)
timeit.Timer(timewrapper)
</code></pre>