पायथन में परिभाषाओं को एक फ़ाइल में रखने और उन्हें स्क्रिप्ट या इंटरप्रेटर के इंटरैक्टिव इंस्टेंस में उपयोग करने का एक तरीका है। ऐसी फ़ाइल को मॉड्यूल कहा जाता है; मॉड्यूल से परिभाषाओं को अन्य मॉड्यूल में या मुख्य मॉड्यूल में (वेरिएबल का संग्रह जिस तक आपकी स्क्रिप्ट में शीर्ष स्तर पर और कैलकुलेटर मोड में पहुंच होती है) इम्पोर्ट किया जा सकता है।
मॉड्यूल खोज पथ
जब आप एक मॉड्यूल इम्पोर्ट करते हैं, मान लें `hello`, तो इंटरप्रेटर इनपुट स्क्रिप्ट वाली डायरेक्टरी में `hello.py` नाम की फ़ाइल खोजता है और फिर `PYTHONPATH` पर्यावरण वेरिएबल द्वारा निर्दिष्ट डायरेक्टरी की सूची में।
उदाहरण: फिबोनैकी मॉड्यूल बनाएं
fibonacci.py बनाएं
def fib(n):
# n तक फिबोनैकी श्रृंखला लिखें
a, b = 0, 1
while b < n:
print(b, end=' ')
a, b = b, a+b
print()
def fib2(n):
# n तक फिबोनैकी श्रृंखला लौटाएं
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
मॉड्यूल उपयोग करें
अब अपना टर्मिनल खोलें और इस फ़ाइल वाली डायरेक्टरी में `cd` कमांड से जाएं और पायथन शेल खोलें। निम्न स्टेटमेंट दर्ज करें:
>>> import fibonacci
>>> fibonacci.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
>>> fibonacci.fib2(100)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
आपने एक मॉड्यूल बनाया, इसे इम्पोर्ट किया और इसके फ़ंक्शन का उपयोग किया।
मॉड्यूल विकास के सर्वोत्तम अभ्यास
1. `__name__ == "__main__"` गार्ड जोड़ें
# fibonacci.py
def fib(n):
a, b = 0, 1
while b < n:
print(b, end=' ')
a, b = b, a+b
print()
def fib2(n):
result = []
a, b = 0, 1
while b < n:
result.append(b)
a, b = b, a+b
return result
if __name__ == "__main__":
# डेमो/टेस्ट कोड
print("फिबोनैकी डेमो:")
fib(100)
2. डॉकस्ट्रिंग जोड़ें
"""
फिबोनैकी श्रृंखला उत्पन्न करने के लिए मॉड्यूल।
"""
def fib(n):
"""n तक फिबोनैकी श्रृंखला प्रिंट करें।"""
...
3. टाइप हिंट्स जोड़ें (पायथन 3.5+)
def fib2(n: int) -> list[int]:
...
4. `__all__` निर्यात सूची परिभाषित करें
__all__ = ['fib', 'fib2']
पैकेज बनाना (एकाधिक मॉड्यूल)
myproject/
├── mypackage/
│ ├── __init__.py
│ ├── module1.py
│ └── module2.py
├── setup.py
├── README.md
└── tests/
अधिक जानकारी
मॉड्यूल और उन्हें बनाने के तरीके के बारे में अधिक पढ़ें पायथन डॉक्स ट्यूटोरियल में: https://docs.python.org/2/tutorial/modules.html