SORU
22 Aralık 2009, Salı


Nasıl __init__.py iyi/doğru paket dosyaları yazmanın ne anlamı var

Benim paket aşağıdaki yapıya sahiptir:

mobilescouter/
    __init__.py #1
    mapper/
        __init__.py  #2
        lxml/
            __init__.py #3
            vehiclemapper.py
            vehiclefeaturemapper.py
            vehiclefeaturesetmapper.py
        ...
        basemapper.py
   vehicle/
        __init__.py #4
        vehicle.py
        vehiclefeature.py
        vehiclefeaturemapper.py
   ...

__init__.py dosyaları doğru yazılması gerektiğini nasıl emin değilim.__init__.py #1 gibi görünüyor:

__all__ = ['mapper', 'vehicle']
import mapper
import vehicle

Ama nasıl örneğin 7 ** gibi görünmelidir? Benim

__all__ = ['basemapper', 'lxml']
from basemaper import *
import lxml

__all__ kullanılmalıdır?

CEVAP
22 Aralık 2009, Salı


__init__.py kendi dosyalarım boş çoğu zaman. Özellikle, hiç bir from blah import * parçası __init__.py -- "alma paketi" demek oluyor bir nevi sınıflar, fonksiyonlar vb tanımlanan doğrudan bir parçası olarak paket, sonra ben lexically kopya içeriği blah.py içine paketi __init__.py yerine ve kaldırmak blah.py (çarpma kaynak dosyaları burada).

Eğer ısrar destek import * cümleler (korkmak), sonra kullanarak __all__ (gibi minik isimleri olarak alabilirsin kendine yer) yardım için hasar kontrolü. Genel olarak, ad ve açık ithalatiyişeyler, ve ben güçlü bir yaklaşım, sistematik olarak da atlayarak göre Gözden önermek ya da iki kavram!-)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • We've moved!

    We've moved!

    7 Ocak 2008
  • mipd1980

    mipd1980

    25 EKİM 2006
  • Valdorsha

    Valdorsha

    8 Mayıs 2006