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

  • happyjpy

    happyjpy

    22 AĞUSTOS 2009
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008
  • Phandroid

    Phandroid

    26 Ocak 2009