SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007