एक पैकेज एक हायरार्किकल फाइल डायरेक्टरी स्ट्रक्चर है जो एक सिंगल पायथन एप्लीकेशन एनवायरनमेंट को परिभाषित करता है जिसमें मॉड्यूल्स और सबपैकेजेस और सब-सबपैकेजेस होते हैं, और इसी तरह।
Phone डायरेक्टरी में उपलब्ध Pots.py नामक एक फाइल पर विचार करें। इस फाइल में निम्नलिखित सोर्स कोड लाइन है:
#!/usr/bin/python
def Pots():
print "I'm Pots Phone"
इसी तरह, हमारे पास ऊपर के समान नाम के साथ अलग-अलग फ़ंक्शन्स वाली दो अन्य फाइलें हैं:
- Phone/Isdn.py फाइल जिसमें Isdn() फ़ंक्शन है
- Phone/G3.py फाइल जिसमें G3() फ़ंक्शन है
अब, Phone डायरेक्टरी में __init__.py नामक एक और फाइल बनाएं:
- Phone/__init__.py
जब आप Phone इम्पोर्ट करते हैं तो अपने सभी फ़ंक्शन्स को उपलब्ध कराने के लिए, आपको __init__.py में स्पष्ट इम्पोर्ट स्टेटमेंट्स डालने होंगे:
from Pots import Pots from Isdn import Isdn from G3 import G3
जब आप इन लाइन्स को __init__.py में जोड़ते हैं, तो Phone पैकेज इम्पोर्ट करते समय ये सभी क्लासेस उपलब्ध होती हैं।
#!/usr/bin/python # अब अपने Phone पैकेज को इम्पोर्ट करें। import Phone Phone.Pots() Phone.Isdn() Phone.G3()
जब उपरोक्त कोड निष्पादित होता है, तो यह निम्नलिखित परिणाम देता है:
I'm Pots Phone I'm 3G Phone I'm ISDN Phone
उपरोक्त उदाहरण में, हमने प्रत्येक फाइल में एक सिंगल फ़ंक्शन का उदाहरण लिया है, लेकिन आप अपनी फाइलों में मल्टीपल फ़ंक्शन्स रख सकते हैं। आप उन फाइलों में अलग-अलग पायथन क्लासेस भी परिभाषित कर सकते हैं और फिर उन क्लासेस से अपने पैकेजेस बना सकते हैं।