15 ŞUBAT 2009, Pazar
Alma "genel adı '' tanımlanan" değildir foo;'In Python ile timeit
Deniyorum öğrenmek için ne kadar zaman alır çalıştırmak için bir Python deyimi, çok baktım online ve bulunan standart kütüphane sağlar bir modül timeit bu iddia için tam olarak bu
import timeit
def foo():
# ... contains code I want to time ...
def dotime():
t = timeit.Timer("foo()")
time = t.timeit(1)
print "took %fs\n" % (time,)
dotime()
Ancak, bu bir hata üretir:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in dotime
File "/usr/local/lib/python2.6/timeit.py", line 193, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'foo' is not defined
Hala yeni Python çalışıyorum ve tamamen tüm ölçüm sorunları anlamıyorum, ama bu kod çalışmıyor neden bilmiyorum. Herhangi bir düşünce?
CEVAP
15 ŞUBAT 2009, Pazar
bu çizgi çizmeyi denedi:
t = timeit.Timer("foo()")
Bu:
t = timeit.Timer("foo()", "from __main__ import foo")
En altta verdiğiniz linki kontrol edin.
Bu timeit tanımladığınız fonksiyonlar modülü erişim vermek için bir alma deyimi içeren bir kurulum parametresi iletebilirsiniz:
Ben sadece benim makinede Test ve değişiklikleri ile çalıştı.
Bunu Paylaş:
Kullanımı "genel" Python ana...
Biri bana açıklayabilir kaynak python ...
&; Az Şaşkınlık " " Python: Değiş...
Ne "Lale" adında; Python?...
Nasıl değişmez bir " baskı miyim;{}&qu...