SORU
30 EKİM 2011, Pazar


'Python bir modülü arasındaki fark ne ve bir Python paketi?

Bir Python modülü ve Python paketi arasındaki fark nedir?

Ayrıca bakınız: What's the difference between "package" and "module" (diğer diller için)

CEVAP
30 EKİM 2011, Pazar


Herhangi bir Python dosyası ** 15, adı .py uzantısı olmadan dosya adı üssü olmak. package koleksiyon Python modülleri: modül tek bir Python dosyası, bir paketin bir dizinin Python modülleri içeren bir ek __init__.py dosya, ayırt etmek için paketi bir dizine birden oluverir içeren bir grup Python komut. Paketler ilgili dizinler __init__.py kendi dosya içeren sağlanan herhangi bir derinliğe kadar iç içe olabilir.

Modül ve paket arasındaki fark dosya sistemi düzeyinde tutmak gibi görünüyor. Bir modül veya bir paket aldığınızda, karşılık gelen nesne Python tarafından oluşturulan her tip 4**. Not, bir paket aldığınızda, ancak, sadece değişkenler/fonksiyonları olan paketi __init__.py dosya/sınıfları doğrudan görülebilirdeğilalt paketleri veya modülleri. Örnek olarak, göz önünde bulundurun xml paket Python standart kütüphane: xml dizin içeren bir __init__.py dosya ve dört alt dizinleri; alt-dizin etree içerir __init__.py dosya ve, diğerleri arasında, ElementTree.py dosya. Olmuyor ne etkileşimli paket alma/modüller:

>>> import xml
>>> type(xml)
<type 'module'>
>>> xml.etree.ElementTree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'etree'
>>> import xml.etree
>>> type(xml.etree)
<type 'module'>
>>> xml.etree.ElementTree
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'ElementTree'
>>> import xml.etree.ElementTree
>>> type(xml.etree.ElementTree)
<type 'module'>
>>> xml.etree.ElementTree.parse
<function parse at 0x00B135B0>

Python da yerleşik modülleri, C ile yazılmış sys gibi vardır, ama söz konusu kişileri dikkate almak istediğini sanmıyorum.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • Break

    Break

    10 Aralık 2005
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011