SORU
8 AĞUSTOS 2009, CUMARTESİ


AttributeError: '' nesne özniteliği vardır modülü

İki python modülleri var:

bir.py

import b

def hello():
  print "hello"

print "a.py"
print hello()
print b.hi()

b.py

import a

def hi():
  print "hi"

a.py, çalıştırdığımda alıyorum:

AttributeError: 'module' object has no attribute 'hi'

Hata ne anlama geliyor? Bunu nasıl düzeltebilirim?

CEVAP
8 AĞUSTOS 2009, CUMARTESİ


Hemen hemen her zaman kötü bir fikir olan üst düzey ithalat karşılıklı.

Eğer gerçekten Python karşılıklı ithalat olması gerekir, bu şekilde bir fonksiyon içinde onları almak için

# In b.py:
def cause_a_to_do_something():
    import a
    a.do_something()

Şimdi bir.py güvenli bir şekilde problem çıkarmadan import b yapabilir.

(İlk bakışta öyle görünebilir cause_a_to_do_something() olurdu son derece verimsiz yapıyor, çünkü bir import her zaman diyorsun, ama aslında işe alma sadece alır yapılan ilk kez. İkinci ve daha sonraki zamanlarda bir modül alma, hızlı bir işlem.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hollyscoop

    Hollyscoop

    30 Ocak 2007
  • RD

    RD

    19 NİSAN 2006
  • TouchePro

    TouchePro

    27 EYLÜL 2007