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

  • Hudson Music

    Hudson Music

    13 Mart 2007
  • Justin Davis

    Justin Davis

    14 Ocak 2008
  • Strata1000

    Strata1000

    28 EYLÜL 2009