यह व्याख्यान पायथन में मॉड्यूल और पैकेज के आसपास होगा।
वे आपके कोड को फाइलों के रूप में व्यवस्थित करने का एक तरीका हैं और यदि आप पायथन के साथ वेब एप्लिकेशन बनाने का इरादा रखते हैं तो वास्तव में महत्वपूर्ण हैं
मॉड्यूल
पायथन में एक मॉड्यूल मूल रूप से कुछ पायथन कोड वाली एक फाइल है जिसका उपयोग हम अपने कोड को फाइलों में व्यवस्थित करने के लिए करते हैं। इसे सुपरमार्केट के सेक्शन की तरह समझें। जब आप सुपरमार्केट में जाते हैं तो फलों, सब्जियों, सफाई उत्पादों आदि के लिए अलग-अलग सेक्शन होते हैं। आपको सभी उत्पादों के साथ एक सेक्शन नहीं दिखता है।
प्रोग्रामिंग में यह वही अवधारणा है। main.py में सभी फंक्शन्स और क्लासेस के साथ अपना सारा कोड लिखने के बजाय, हम अपने कोड को कई फाइलों में तोड़ देते हैं। प्रत्येक फ़ाइल को एक मॉड्यूल के रूप में संदर्भित किया जाता है। इससे न केवल हमारा कोड बेहतर व्यवस्थित और संरचित होता है, बल्कि हमारे पास अपने कोड का पुन: उपयोग करने की क्षमता भी होती है। आइए इसे एक उदाहरण के माध्यम से देखते हैं।
आइए वजन को पाउंड से किलोग्राम में बदलने के लिए दो कार्यों को परिभाषित करें और इसके विपरीत।
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
अब, हम इन दो कार्यों को ले सकते हैं और उन्हें "कन्वर्टर्स" नामक एक अलग मॉड्यूल में डाल सकते हैं, और फिर इसे किसी भी प्रोग्राम में आयात किया जा सकता है जिसके लिए इन कनवर्टर फ़ंक्शंस की आवश्यकता होती है। आइए मैं आपको दिखाता हूं कि यह कैसे करना है।
आइए अपना प्रोजेक्ट पैनल खोलें और प्रोजेक्ट पर राइट-क्लिक करें और एक नई फ़ाइल जोड़ें। हम इस फ़ाइल को "Converters.py" कहने जा रहे हैं।
अब कोड को डिफ़ॉल्ट फ़ाइल से कॉपी करें और इसे "Converters.py" में पेस्ट करें।
इसके साथ, हमने अपने मुख्य मॉड्यूल को साफ कर दिया है और यह विभिन्न कार्यों के साथ फूला हुआ नहीं है। जैसा कि हम कक्षाओं के साथ और अधिक कार्य लिखते हैं, हम उन्हें उनके संबंधित मॉड्यूल में डालते हैं। एक मॉड्यूल में सभी संबंधित कार्य और कक्षाएं होनी चाहिए। अब, हम कन्वर्टर्स मॉड्यूल को अपने ऐप मॉड्यूल में आयात करना चाहते हैं। ऐसा करने के लिए, लिखें import converters
एक्सटेंशन ".py" के बिना शीर्ष पर।
हम विधियों के समान डॉट ऑपरेटर का उपयोग करके मॉड्यूल के सदस्यों तक पहुंच सकते हैं।
आइए 70 किलो को पाउंड में बदलें:
मॉड्यूल आयात करने के लिए एक और सिंटैक्स भी है। पूरे मॉड्यूल को आयात करने के बजाय, हम उस मॉड्यूल से विशिष्ट कार्यों को आयात कर सकते हैं। हम टाइप कर सकते हैं from Converters import
और उपलब्ध कार्यों की सूची दिखाने के लिए "नियंत्रण + स्थान" दबाएं। इससे हम सीधे इस फंक्शन को कॉल कर सकते हैं।
व्यायाम
यहाँ आपका व्यायाम है।
यह उस व्याख्यान के अभ्यास से संबंधित है जिसमें हमने चर्चा की थी "छोरों के लिए"जहां हमने एक सूची से सबसे बड़ी संख्या का पता लगाने के लिए एक कार्यक्रम लिखा
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
इस कोड का वर्तमान में कोई संगठन नहीं है। हमारे पास कोई फ़ंक्शन या मॉड्यूल नहीं है और प्रोग्राम एक फ़ाइल में लिखा गया है। यह छोटे कार्यक्रमों के लिए ठीक है लेकिन जैसे-जैसे आपके कार्यक्रम बढ़ते हैं, आपको अपने कोड को कक्षाओं और मॉड्यूल में ठीक से व्यवस्थित करने की आवश्यकता होती है। इसलिए, इस अभ्यास के हिस्से के रूप में, मैं चाहता हूं कि आप एक फ़ंक्शन लिखें, इसे कॉल करें find_max
. इस फ़ंक्शन को एक सूची लेनी चाहिए और उस सूची में सबसे बड़ी संख्या वापस करनी चाहिए। उसके बाद आगे बढ़ें और इस फ़ंक्शन को एक अलग मॉड्यूल में रखें, इसे यहां से निकालें और इसे मॉड्यूल नामक मॉड्यूल में रखें utils
. इस मॉड्यूल में उपयोगिता कार्यों का एक समूह होना चाहिए। आयात करें utils
वर्तमान मॉड्यूल में मॉड्यूल और कॉल find_max
समारोह। अंत में, परिणाम प्राप्त करें और इसे टर्मिनल पर प्रिंट करें।
यह अभ्यास थोड़ा चुनौतीपूर्ण है लेकिन आसानी से किया जा सकता है।
उपाय
फ़ंक्शन को परिभाषित करके प्रारंभ करें find_max
और संख्या नामक एक पैरामीटर जोड़ें। इस फ़ंक्शन के अंदर, किसी सूची में सबसे बड़ी संख्या खोजने के लिए एल्गोरिथम लिखें।
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
इस कोड को एक मॉड्यूल के रूप में "utils.py" फ़ाइल में सहेजें।
हमारे मुख्य कार्यक्रम पर वापस, बस दो सिंटैक्स में से किसी एक द्वारा मॉड्यूल को आयात करें और बस तर्क को निष्पादित करें।
एक बात, मुझे आपका ध्यान आकर्षित करने की आवश्यकता है, वह है कमजोर max
. इसका कारण है max
पायथन में एक अंतर्निहित कार्य है और हम इसे फिर से परिभाषित कर रहे हैं। तो यह एक चेतावनी है पायथन कंपाइलर कि अब हम मैक्स को इसके बिल्ट-इन फंक्शन के रूप में उपयोग नहीं कर सकते हैं।
पायथन में अंतर्निहित मॉड्यूल
पायथन एक मानक पुस्तकालय के साथ आता है जिसमें सामान्य कार्यों के लिए कई मॉड्यूल होते हैं जैसे ईमेल भेजना, दिनांक और समय के साथ काम करना, यादृच्छिक मान और पासवर्ड बनाना आदि। पायथन में पहले से ही बहुत सारे मॉड्यूल बनाए गए हैं, जिसका अर्थ है कि पहले से ही बहुत सारी कार्यक्षमता है जिसका हम पुन: उपयोग कर सकते हैं। आप ये मॉड्यूल पा सकते हैं यहाँ उत्पन्न करें.
संकुल
पैकेज मूल रूप से मॉड्यूल के शीर्ष पर हमारे कोड को व्यवस्थित करने का एक और तरीका है। एक वास्तविक परियोजना में सैकड़ों या हजारों मॉड्यूल हो सकते हैं और समय के साथ हमारी निर्देशिका बहुत सारी फाइलों से फूली हुई हो जाएगी। इसलिए, एक बेहतर तरीका पैकेज के अंदर संबंधित मॉड्यूल को व्यवस्थित करना है जो पैकेज को कई मॉड्यूल के लिए एक कंटेनर बनाता है।
प्रोजेक्ट में एक नई निर्देशिका जोड़ी जाती है और सभी संबंधित मॉड्यूल उस निर्देशिका में जोड़े जाते हैं। एक उदाहरण के रूप में, एक मॉल के बारे में सोचें। एक मॉल में पुरुषों, महिलाओं और बच्चों के परिधानों के लिए अलग-अलग वर्ग हैं जो पैकेज की तरह हैं। प्रत्येक अनुभाग में विभिन्न प्रकार के उत्पादों जैसे जूते, टी-शर्ट और जैकेट के लिए अलग-अलग क्षेत्र हैं। इन्हें मॉड्यूल के रूप में सोचें।
आइए देखें, पायथन में पैकेज कैसे बनाएं और उपयोग करें।
सबसे पहले, प्रोजेक्ट पैनल से एक नई निर्देशिका जोड़ें। चलो इसे "ईकामर्स" कहते हैं। इस पैकेज में ईकामर्स एप्लिकेशन से संबंधित सभी मॉड्यूल शामिल होंगे।
यह अभी भी एक खाली निर्देशिका है और इसे एक पैकेज में बदलने के लिए, हमें इसमें एक विशेष फ़ाइल बनाने की आवश्यकता है। इस निर्देशिका में एक नई पायथन फ़ाइल जोड़ें और उस फ़ाइल को "__init__" नाम दें। यह पायथन में एक विशेष सम्मेलन है और जब पायथन दुभाषिया एक निर्देशिका में इस नाम के साथ एक फ़ाइल देखता है, तो यह इस निर्देशिका को एक पैकेज के रूप में मानता है।
पैकेज बनाने के लिए हमारे पास एक वैकल्पिक और संक्षिप्त विधि भी है। प्रोजेक्ट पैनल पर बस राइट-क्लिक करें और सूची से एक पायथन पैकेज बनाएं। इसे "ईकामर्स" नाम दें और यही वह है। यह स्वचालित रूप से "__init__" नामक पायथन फ़ाइल के साथ एक निर्देशिका बनाएगा।
अब, पैकेज में एक मॉड्यूल बनाते हैं और इसे "शिपिंग" नाम देते हैं। इस मॉड्यूल में, शिपिंग लागतों की गणना के लिए एक सरल कार्य बनाते हैं।
def calc_shipping():
print("calc_shipping")
इस फ़ंक्शन को हमारे मुख्य मॉड्यूल में एक्सेस करने के लिए, हमें इसे ई-कॉमर्स पैकेज के माध्यम से एक्सेस करना होगा। एक बार फिर हमारे पास इस मॉड्यूल को आयात करने के दो तरीके हैं।
पहली विधि में, हम पूरे मॉड्यूल को आयात कर सकते हैं और फिर इस तरह स्वतंत्र रूप से एक फ़ंक्शन को कॉल कर सकते हैं:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
हालाँकि, इस दृष्टिकोण के साथ, इस मॉड्यूल में किसी एक फ़ंक्शन को कॉल करने के लिए इसके साथ उपसर्ग करने की आवश्यकता होती है eCommerce.shipping.
यह बहुत वर्बोज़ है। इसलिए, पैकेज के साथ काम करते समय हम अक्सर दूसरे दृष्टिकोण का उपयोग करते हैं और इसका उपयोग करते हैं from
बयान।
from eCommerce.shipping import calc_shipping
calc_shipping()
यदि आपके पास एक मॉड्यूल में कई फ़ंक्शन हैं, तो आप उनके बीच अल्पविराम का उपयोग करके उन सभी को एक पंक्ति में आयात कर सकते हैं। मान लें कि हमारे शिपिंग मॉड्यूल में कर की गणना के लिए एक और कार्य है। इसे इस तरह आयात किया जाएगा:
from eCommerce.shipping import calc_shipping, calc_tax
आप अलग-अलग मॉड्यूल भी आयात कर सकते हैं और कार्यक्रम में बाद के चरण में बुलाए जाने वाले कार्यों को छोड़ सकते हैं। आइए मॉड्यूल शिपिंग आयात करें और फिर फ़ंक्शन को कॉल करने के लिए डॉट ऑपरेटर का उपयोग करें calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
लपेटें!
पायथन में पैकेज और मॉड्यूल बेहद महत्वपूर्ण हैं। विशेष रूप से, जब आप Django जैसे ढांचे के साथ काम करना चाहते हैं जिसका उपयोग इमारत के लिए किया जाता है वेब अनुप्रयोग पायथन के साथ। हम एक अन्य पायथन पाठ्यक्रम के दौरान Django पर गौर करेंगे।
यह इस श्रृंखला का अंतिम पारंपरिक व्याख्यान था। अगला व्याख्यान हमारे सामान्य प्रारूप से विचलित होगा और हम पायथन में कुछ महत्वपूर्ण उपयोग के मामलों को जानेंगे। यह इस श्रृंखला के अंत को चिह्नित करेगा और हम अपनी अगली पायथन श्रृंखला पर आगे बढ़ेंगे। उसके लिए बने रहें।
एक जवाब लिखें