हे व्याख्यान Python मधील मॉड्यूल्स आणि पॅकेजेसभोवती असेल.
तुमचा कोड फाइल्सच्या स्वरूपात व्यवस्थित करण्याचा हा एक मार्ग आहे आणि जर तुमचा पायथनसह वेब अॅप्लिकेशन्स तयार करायचा असेल तर ते खरोखर महत्त्वाचे आहेत.
विभाग
Python मधील मॉड्यूल ही मुळात काही python कोड असलेली फाईल आहे जी आपण आपला कोड फाईल्समध्ये व्यवस्थित करण्यासाठी वापरतो. सुपरमार्केटमधील विभागांप्रमाणे याचा विचार करा. तुम्ही सुपरमार्केटमध्ये जाता तेव्हा फळे, भाज्या, साफसफाईची उत्पादने इत्यादीसाठी वेगवेगळे विभाग असतात. तुम्हाला सर्व उत्पादनांसह एक विभाग दिसत नाही.
प्रोग्रामिंगमध्ये हीच संकल्पना आहे. 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" विस्ताराशिवाय शीर्षस्थानी.
पद्धतींप्रमाणेच डॉट ऑपरेटर वापरून आपण मॉड्यूलच्या सदस्यांमध्ये प्रवेश करू शकतो.
चला ७० किलोचे पाउंडमध्ये रूपांतर करूया:
मॉड्यूल्स आयात करण्यासाठी आणखी एक वाक्यरचना देखील आहे. संपूर्ण मॉड्यूल आयात करण्याऐवजी, आम्ही त्या मॉड्यूलमधून विशिष्ट कार्ये आयात करू शकतो. आपण टाइप करू शकतो from Converters import
आणि उपलब्ध फंक्शन्सची सूची दर्शविण्यासाठी “control + space दाबा. यासह, आपण या फंक्शनला थेट कॉल करू शकतो.
व्यायाम
हा तुमचा व्यायाम आहे.
हे व्याख्यानातील व्यायामाशी संबंधित आहे जिथे आम्ही चर्चा केली "लूप साठी" जिथे आम्ही सूचीमधून सर्वात मोठी संख्या शोधण्यासाठी एक प्रोग्राम लिहिला
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
Python मध्ये अंगभूत फंक्शन आहे आणि आम्ही ते पुन्हा परिभाषित करत आहोत. त्यामुळे हा इशारा आहे पायथन कंपाइलर की आपण यापुढे max चा अंगभूत कार्य म्हणून वापर करू शकत नाही.
पायथनमध्ये अंगभूत मॉड्यूल
पायथन एक मानक लायब्ररीसह येते ज्यामध्ये ईमेल पाठवणे, तारीख आणि वेळेसह कार्य करणे, यादृच्छिक मूल्ये आणि संकेतशब्द तयार करणे आणि यासारख्या सामान्य कार्यांसाठी अनेक मॉड्यूल असतात. Python मध्ये आधीच बरेच मॉड्यूल तयार केले आहेत याचा अर्थ असा आहे की आपण पुन्हा वापरू शकतो अशी बरीच कार्यक्षमता आधीच आहे. आपण हे मॉड्यूल शोधू शकता येथे.
पॅकेजेस
पॅकेजेस हा आमचा कोड मॉड्युलच्या शीर्षस्थानी व्यवस्थित करण्याचा दुसरा मार्ग आहे. वास्तविक प्रोजेक्टमध्ये शेकडो किंवा हजारो मॉड्यूल्स असू शकतात आणि कालांतराने आमची डिरेक्टरी बर्याच फायलींनी फुलून जाईल. म्हणून, पॅकेजच्या आत संबंधित मॉड्यूल्स आयोजित करणे हा एक चांगला दृष्टीकोन आहे ज्यामुळे पॅकेज एकाधिक मॉड्यूल्ससाठी कंटेनर बनते.
प्रोजेक्टमध्ये एक नवीन डिरेक्टरी जोडली जाते आणि त्या डिरेक्टरीमध्ये सर्व संबंधित मॉड्यूल जोडले जातात. उदाहरण म्हणून, मॉलचा विचार करा. मॉलमध्ये पुरुष, महिला आणि मुलांच्या पोशाखांसाठी वेगवेगळे विभाग आहेत जे पॅकेजसारखे आहेत. शूज, टी-शर्ट आणि जॅकेट यांसारख्या विविध प्रकारच्या उत्पादनांसाठी प्रत्येक विभागात वेगवेगळी क्षेत्रे आहेत. हे मॉड्यूल्स म्हणून विचार करा.
पायथनमध्ये पॅकेजेस कसे बनवायचे आणि कसे वापरायचे ते पाहू.
प्रथम, प्रकल्प पॅनेलमधून एक नवीन निर्देशिका जोडा. चला याला “ईकॉमर्स” म्हणू या. या पॅकेजमध्ये ईकॉमर्स ऍप्लिकेशनशी संबंधित सर्व मॉड्यूल असतील.
ही अद्याप रिक्त निर्देशिका आहे आणि ती पॅकेजमध्ये रूपांतरित करण्यासाठी, आम्हाला त्यात एक विशेष फाइल तयार करणे आवश्यक आहे. या निर्देशिकेत एक नवीन पायथन फाइल जोडा आणि त्या फाइलला “__init__” नाव द्या. हे Python मध्ये एक विशेष नियम आहे आणि जेव्हा Python इंटरप्रिटर या नावाची फाइल डिरेक्टरीमध्ये पाहतो, तेव्हा तो या डिरेक्ट्रीला पॅकेज मानतो.
आमच्याकडे पॅकेज तयार करण्यासाठी पर्यायी आणि संक्षिप्त पद्धत देखील आहे. फक्त प्रोजेक्ट पॅनलवर उजवे-क्लिक करा आणि सूचीमधून पायथन पॅकेज तयार करा. त्याला “ईकॉमर्स” नाव द्या आणि तेच. ते "__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()
गुंडाळणे!
Python मध्ये पॅकेजेस आणि मॉड्यूल्स अत्यंत महत्वाचे आहेत. विशेषत: जेव्हा तुम्हाला जॅंगो सारख्या फ्रेमवर्कसह काम करायचे असेल जे बिल्डिंगसाठी वापरले जाते वेब अनुप्रयोग पायथन सह. पायथनच्या दुसर्या कोर्स दरम्यान आपण जॅंगोचा शोध घेऊ.
या मालिकेतील हे शेवटचे पारंपरिक व्याख्यान होते. पुढील व्याख्यान आपल्या नेहमीच्या स्वरूपापासून विचलित होईल आणि आपण पायथनमधील काही महत्त्वाच्या वापराच्या केसेस शिकू. यामुळे या मालिकेचा शेवट होईल आणि आम्ही आमच्या पुढील पायथन मालिकेकडे जाऊ. त्यासाठी सोबत रहा.
प्रत्युत्तर द्या