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

  • infodirt

    infodirt

    11 Mart 2009
  • RFS Dan

    RFS Dan

    22 Temmuz 2014
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006