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

  • ASUS

    ASUS

    22 EKİM 2005
  • Charles Griffin Gibson

    Charles Grif

    26 NİSAN 2006
  • MW Technology

    MW Technolog

    28 EKİM 2009