هي ليڪچر پائٿون ۾ ماڊلز ۽ پيڪيجز جي چوڌاري پکڙيل هوندو.
اهي توهان جي ڪوڊ کي فائلن جي صورت ۾ ترتيب ڏيڻ جو هڪ طريقو آهي ۽ واقعي اهم آهن جيڪڏهن توهان پٿون سان ويب ايپليڪيشن ٺاهڻ جو ارادو رکو ٿا
ماڊيول
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".
اسان طريقن سان ملندڙ ڊٽ آپريٽر استعمال ڪندي ماڊل جي ميمبرن تائين رسائي ڪري سگھون ٿا.
اچو ته 70 ڪلوگرام کي پائونڊ ۾ تبديل ڪريون:
ماڊلز کي درآمد ڪرڻ لاءِ هڪ ٻيو نحو پڻ آهي. پوري ماڊل کي درآمد ڪرڻ بدران، اسان ان ماڊل مان مخصوص افعال درآمد ڪري سگھون ٿا. اسان ٽائيپ ڪري سگهون ٿا from Converters import
۽ دٻايو ”ڪنٽرول + اسپيس موجود ڪمن جي لسٽ ڏيکارڻ لاءِ. هن سان، اسان سڌو سنئون هن فنڪشن کي سڏي سگهون ٿا.
ج
هتي توهان جي مشق آهي.
اهو ليڪچر مان هڪ مشق سان لاڳاپيل آهي جتي اسان بحث ڪيو "ooڙن لاءِ”جتي اسان هڪ فهرست مان سڀ کان وڏو نمبر ڳولڻ لاءِ هڪ پروگرام لکيو
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 ۾ ٺهيل ماڊلز
Python هڪ معياري لائبريري سان گڏ اچي ٿو جنهن ۾ عام ڪمن لاءِ ڪيترائي ماڊل شامل آهن جهڙوڪ اي ميلون موڪلڻ، تاريخ ۽ وقت سان ڪم ڪرڻ، بي ترتيب قدر ۽ پاسورڊ پيدا ڪرڻ وغيره. اتي ڪيترائي ماڊل آھن جيڪي اڳ ۾ ئي 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()
ويڙهيو!
پيٿون ۾ پيڪيجز ۽ ماڊل انتهائي اهم آهن. خاص طور تي، جڏهن توهان هڪ فريم ورڪ سان ڪم ڪرڻ چاهيو ٿا جهڙوڪ Django جيڪو تعمير لاء استعمال ڪيو ويندو آهي ويب ايپليڪيشنون Python سان. اسان هڪ ٻئي پٿون ڪورس دوران جيانگو ۾ ڏسنداسين.
هن سلسلي ۾ هي آخري روايتي ليڪچر هو. ايندڙ ليڪچر اسان جي عام فارميٽ کان ڌار ٿي ويندو ۽ اسان پائٿون ۾ استعمال جا ڪجهه اهم ڪيس سکنداسون. اھو ھن سيريز جي پڄاڻي کي نشانو بڻائيندو ۽ اسان اڳتي وڌنداسين اسان جي پٿون سيريز ڏانھن. ان لاءِ رهو.
جواب ڇڏي وڃو