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

  • CorridorDigital

    CorridorDigi

    17 Mayıs 2010
  • Excel Video Tutorials

    Excel Video

    6 Aralık 2012
  • fouseyTUBE

    fouseyTUBE

    21 Mart 2011