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

  • Howcast

    Howcast

    4 EKİM 2007
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010