یہ لیکچر ازگر میں ایک اور ضروری ڈھانچے کے بارے میں ہے، جسے ٹیپل کہتے ہیں۔
ٹوپلز
Tuples فہرستوں سے ملتے جلتے ہیں، لہذا ہم انہیں اشیاء کی فہرست ذخیرہ کرنے کے لیے استعمال کر سکتے ہیں۔ لیکن فہرستوں کے برعکس، ہم ان میں ترمیم نہیں کر سکتے، نئی اشیاء شامل نہیں کر سکتے یا موجودہ اشیاء کو ہٹا نہیں سکتے۔ ہم کہہ سکتے ہیں کہ ٹیپلز ناقابل تغیر ہیں۔
مجھے دکھانے دیجئے. فہرستوں میں مربع بریکٹ کے بجائے قوسین سے ٹیپلز کی شناخت کی جاتی ہے۔
numbers = (4, 1, 7, 5, 0, 9)
اب، اگر ہم ٹوپلز کے لیے طریقوں کی فہرست نکالتے ہیں، تو آپ دیکھ سکتے ہیں کہ ہمارے پاس ضمیمہ یا داخل کرنے کے طریقے نہیں ہیں لہذا اس ٹوپل میں نئی چیزیں شامل نہیں کی جا سکتیں۔ ہمارے پاس صرف دو طریقے ہیں: شمار اور اشاریہ۔
ہم کسی شے کی موجودگی کی تعداد کو شمار کرنے کے لیے " شمار" کا استعمال کرتے ہیں۔ "انڈیکس" کا استعمال کسی شے کی پہلی موجودگی کا اشاریہ تلاش کرنے کے لیے کیا جاتا ہے۔ لہذا، ہم صرف ٹپل کے بارے میں معلومات حاصل کرسکتے ہیں، اور ہم اسے تبدیل نہیں کرسکتے ہیں۔ ویسے، یہ دوسرے طریقے جو آپ یہاں دیکھ رہے ہیں، دو انڈر سکور سے شروع کریں۔
ہم ان کو جادو کے طریقوں سے تعبیر کرتے ہیں۔ وہ ایک جدید ترین موضوع ہیں، اور ہم اپنی آئندہ سیریز میں ان پر بات کریں گے۔
ناقابل تغیر ہونے کے علاوہ، ٹیپلز فہرست کی زیادہ تر خصوصیات کا اشتراک کرتے ہیں۔
عملی طور پر، زیادہ تر وقت آپ فہرستوں کا استعمال کر رہے ہوں گے، لیکن ٹیپلز بھی مفید ہیں۔ اگر آپ آئٹمز کی فہرست بنانا چاہتے ہیں اور اس بات کو یقینی بنانا چاہتے ہیں کہ آپ کے پروگرام میں کہیں بھی آپ نے غلطی سے اس فہرست میں ترمیم نہیں کی ہے، تو بہتر ہے کہ ٹوپل استعمال کریں۔
پیک کھولنا
اس سیکشن میں، میں آپ کو ایک طاقتور فیچر دکھانے جا رہا ہوں، ہمارے پاس python میں ہے جسے unpacking کہتے ہیں۔
آئیے ایک ٹوپل "کوآرڈینیٹ" کی وضاحت کریں
coordinate = (1, 2, 3)
اب تصور کریں کہ یہ 'x'، 'y' اور 'z' کے لیے نقاط ہیں۔ اب ہم کہتے ہیں، ہم ان اقدار کو حاصل کرنا چاہتے ہیں اور اپنے پروگرام میں ان کو چند پیچیدہ تاثرات میں استعمال کرنا چاہتے ہیں۔ ہو سکتا ہے، ہم انہیں ایک بڑے پیچیدہ فارمولے کے حصے کے طور پر شامل کرنا چاہتے ہیں۔
تو، ایک ساتھ ہمیں اس طرح کوڈ لکھنا پڑے گا:
coordinate[0] * coordinate[1] * coordinate[2]
کوڈ کی یہ لائن تمام نقاط کو ضرب دے گی لیکن ہمارے کوڈ کو اس طرح لکھنا غیر موثر ہے۔ سب سے پہلے، آئیے ایک بہتر طریقہ استعمال کریں اور ان نقاط کو الگ الگ متغیر میں محفوظ کریں۔
x = coordinate[0]
y = coordinate[1]
z = coordinate[2]
وہ بہتر ہے. ٹھیک ہے؟ تو اب تک کوئی نئی بات نہیں۔ اب، میں آپ کو ایک طاقتور خصوصیت دکھاتا ہوں جسے پیک کھولنا کہتے ہیں اور اس کے ساتھ، ہم بہت کم کوڈ کے ساتھ وہی نتیجہ حاصل کر سکتے ہیں۔
x, y, z, = coordinate
اب، کوڈ کی یہ واحد لائن اوپر لکھے گئے کوڈ کی تین لائنوں کے بالکل مساوی ہے۔ میں آپ کو بتاتا ہوں کہ یہ کیسے کام کرتا ہے۔
جب Python انٹرپریٹر اس بیان کو دیکھے گا، تو اسے اس ٹیوپل میں پہلا آئٹم ملے گا اور اسے متغیر کو تفویض کرے گا۔ اسی طرح دوسری اور تیسری اشیاء متغیرات کو تفویض کی جائیں گی۔ ایسا کرتے ہوئے، ہم اس ٹیپل کو 3 متغیرات میں کھول رہے ہیں۔ آئیے اپنا آؤٹ پٹ چیک کرتے ہیں۔
فہرستوں کے ساتھ پیک کھولنا بھی کیا جا سکتا ہے۔
لغات
ہم Python میں لغات کے بارے میں جاننے جا رہے ہیں۔ ہم لغات کا استعمال ان حالات میں کرتے ہیں جہاں ہم معلومات کو ذخیرہ کرنا چاہتے ہیں جو کلیدی قدر کے جوڑوں کے طور پر آتی ہے۔
یہاں ایک مثال ہے۔ نام، ای میل، فون نمبر، پتہ، وغیرہ جیسی صفات کے ایک گروپ کے ساتھ ایک گاہک کے بارے میں سوچئے۔ اب ان صفات میں سے ہر ایک کی ایک قدر ہے۔ مثال کے طور پر:
name = Jay
email = [email protected]
اس مثال میں، ہماری کلیدیں نام، ای میل اور فون ہیں۔ ہر کلید ایک قدر کے ساتھ منسلک ہے لہذا یہ وہ جگہ ہے جہاں ہم لغت استعمال کرتے ہیں۔ ایک لغت کے ساتھ، ہم کلیدی قدر کے جوڑوں کا ایک گروپ ذخیرہ کر سکتے ہیں۔ آئیے میں آپ کو دکھاتا ہوں کہ python میں ڈکشنری کی وضاحت کیسے کی جائے۔
customer = {
"name": "Jay",
"email": "[email protected]",
"age": 30,
"is_verified": True
}
کلید کو سٹرنگز، نمبرز، بولین یا کسی بھی چیز پر سیٹ کیا جا سکتا ہے۔ کلیدیں منفرد ہیں اور ان کی صرف ایک بار تعریف کی جا سکتی ہے، یعنی میں کسی دوسرے نمبر کے ساتھ دوبارہ "عمر" کی وضاحت نہیں کر سکتا۔ وہ کیس حساس بھی ہیں۔
اب، اگر میں ٹائپ کرتا ہوں۔ customer["name"],
یہ گاہک کا نام پکارے گا۔ آئیے اسے ٹرمینل پر پرنٹ کریں:
ہم لغات کے ساتھ طریقے بھی استعمال کر سکتے ہیں۔ اوپر دکھائے گئے اسی فنکشن کو "گیٹ" طریقہ استعمال کرکے نقل کیا جاسکتا ہے۔
مندرجہ بالا دو طریقوں میں ایک خاص فرق ہے۔ مجھے اس کا مظاہرہ کرنے دو۔
آپ دیکھ سکتے ہیں کہ جب ہم نے صرف ایک غیر موجود کلید کو پرنٹ کیا تو اس کے نتیجے میں ایک خرابی پیدا ہوئی۔ دوسری طرف، غیر موجود کلیدی کو کال کرنے کا طریقہ استعمال کرتے ہوئے "کوئی نہیں" کے نتیجے میں نکلتا ہے جو قدر کی عدم موجودگی کو ظاہر کرتا ہے۔ "گیٹ" طریقہ استعمال کرتے وقت، ہم ڈیفالٹ ویلیو بھی فراہم کر سکتے ہیں۔
مثال کے طور پر، اگر اس لغت میں "تاریخ پیدائش" کی کلید نہیں ہے، تو ہم اسے اس طرح فراہم کر سکتے ہیں:
customer.get("birthdate", "Jan 01, 1994")
ہم لغت میں کسی بھی کلید کو بھی اپ ڈیٹ کر سکتے ہیں، فہرست کی طرح۔ ہم کہتے ہیں کہ ہم اپنی لغت میں نام کی کلید کو اپ ڈیٹ کرنا چاہتے ہیں۔ یہاں ہم اسے کیسے کریں گے.
customer["name"] = "Shahbaz"
اسی طرح کا نحو ہماری لغت میں بھی ایک نئی کلید شامل کرنے کے لیے استعمال کیا جا سکتا ہے۔ آئیے کلیدی "تاریخ پیدائش" کو اسی طرح کے انداز میں شامل کریں۔
customer["birthdate"] = "Jan 01, 1994"
تو، یہ ہے Python میں لغات استعمال کرنے کی بنیادی باتیں۔ وہ انتہائی اہم ہیں اور حقیقی دنیا میں ان کے پاس بہت ساری درخواستیں ہیں۔
ورزش
آپ ایک پروگرام لکھنے جا رہے ہیں جو ہندسوں کو اس طرح الفاظ میں تبدیل کرتا ہے:
حل
یہاں آپ لوگوں کے لئے حل ہے.
phone = input("Phone: ")
digits_mapping = {
"1": "One",
"2": "Two",
"3": "Three",
"4": "Four",
"5": "Five",
"6": "Six",
"7": "Seven",
"8": "Eight",
"9": "Nine",
"0": "Zero"
}
output = " "
for ch in phone:
output += digits_mapping.get(ch, "!") + " "
print(output)
اسی طرح، آپ "ایموجی کنورٹر" جیسے دیگر تفریحی پروگرام بنا سکتے ہیں PYTHONERS سے لطف اندوز ہوں!
لپیٹ!
مجھے امید ہے کہ آپ نے اس لیکچر کا لطف اٹھایا ہوگا۔ اگلا، ہم Python پروگرامنگ، فنکشنز اور پیرامیٹرز کے ایک اہم پہلو میں غوطہ لگانے جا رہے ہیں۔
جواب دیجئے