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

  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012
  • Moto Journal

    Moto Journal

    28 Mayıs 2007
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006