حادثو ڪورس ۾ ٽئين ليڪچر ۾ ڀليڪار.
هن ليڪچر ۾، اسان پيٿون ۾ تارن سان ڊيل ڪرڻ سکنداسين. پنھنجو پاپ ڪارن تيار ڪريو ۽ مضبوطيءَ سان ويھي رھو.
اسٽنگ
پهرين، اچو ته حوالن جي باري ۾ ڳالهايون ۽ مونجهاري کي ختم ڪريو جيڪي شايد پٿون ۾ متعارف ڪرايون وڃن.
جيئن اڳ بيان ڪيو ويو آهي، اسان Python ۾ هڪ فنڪشن کان پوء اڪيلو ۽ ڊبل ڪوٽا استعمال ڪري سگهون ٿا. هن جي هڪ خاص افاديت آهي. فرض ڪريو ته توھان ڪجھھ ھن طرح پرنٽ ڪرڻ چاھيو ٿا.
print('This is Shahbaz's computer')
ھاڻي مٿي ڏنل جملي ۾، ٻئي اقتباس کان پوءِ سڀڪنھن شيءِ کي ”شهباز“ ۾ پٿون انٽرپريٽر کان اڻڄاڻ ٿي ويندو، ڇاڪاڻ ته پٿون ٻئي اقتباس کي اسٽرنگ جي پڇاڙيءَ ۾ وٺندو. انهي صورت ۾، توهان ڊبل حوالن کي استعمال ڪرڻ چاهيو ٿا ته جيئن اسٽرنگ کي بيان ڪرڻ لاء:
print("This is Shahbaz's computer")
اهو پڻ ٻئي طريقي سان لاڳو ڪري سگهجي ٿو ۽ اسان واحد اقتباس استعمال ڪري سگهون ٿا جيڪڏهن اسٽرنگ اندر ٻه حوالا آهن. مثال
print('This "computer" belongs to Shahbaz')
ھاڻي جيڪڏھن توھان چاھيو ٿا ھڪڙو اسٽرنگ پرنٽ ڪريو جيڪو گھڻن لائنن تي پکڙيل آھي، توھان کي استعمال ڪرڻو پوندو ٽريپل ڪوٽس استعمال ڪرڻ لاءِ تار کي بند ڪرڻ لاءِ. اهي اقتباس به ٿي سگهن ٿا سنگل يا ڊبل، سٽ جي مواد جي لحاظ کان. مثال طور:
ھاڻي چئو ته توھان چاھيو ٿا ھڪڙي خاص اکر کي اسٽرنگ مان پرنٽ ڪريو. تون اهو ڪيئن ڪندين؟
Python مترجم اسٽرنگ ۾ ڪردارن کي هن طرح ترتيب ڏئي ٿو:
جيئن توهان ٽرمينل ۾ ڏسي سگهو ٿا، صرف 'h' ڇپيل آهي. ان جو سبب اهو آهي ته اسان ٽرمينل تي پرنٽ ڪرڻ لاءِ پنهنجي اسٽرنگ ۾ صرف ٽيون اکر چونڊيو آهي 3 چورس بريڪٽس ۾ variable کان پوءِ لکو. پٿون مترجم پڻ ناڪاري ۾ ڪردارن کي ترتيب ڏئي ٿو ته جيئن وڏن تارن کي آسان بڻائي سگهجي. يعني ’-1‘ تار ۾ آخري نمبر هوندو ۽ ائين ئي. نوٽ ڪريو ته اسپيس انڊيڪس ٿيل نه آھن جنھن جو مطلب آھي مٿين اسٽرنگ ۾ صرف 21 انڊيڪس ٿيل اسپيس ھوندا.
توھان پڻ چونڊي سگھوٿا اکرن جو سلسلو تارن مان. مثال
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
هي پروگرام ٽرمينل تي 'Pyt' پرنٽ ڪندو. انڊيڪس 3 هن مان خارج ٿيل آهي.
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
ساڳئي طرح، جيڪڏهن اسان آخري انڊيڪس فراهم نه ڪندا آهيون، پٿون پهرين انڊيڪس کان پوء سڄي اسٽرنگ کي پرنٽ ڪندو. هن پروگرام جو آئوٽ پُٽ ”ٿون ڪورس از شهباز“ هوندو. اهو ان جي برعڪس رکي ٿو. يعني جيڪڏهن اسان پهرين انڊيڪس کي مس ڪريون ته پوءِ شروع کان آخري بيان ڪيل انڊيڪس تائين پوري اسٽرنگ پرنٽ ٿي ويندي.
ھڪڙو پروگرام صرف انڊيڪسنگ بریکٹس ۾ ڪولن سان گڏ ٽرمينل تي مڪمل تار پيدا ڪندو.
مشق
هتي هڪ دلچسپ مشق آهي
هڪ پروگرام لکو جيڪو انڊيڪس وقفو جي وضاحت ڪري ٿو [1:-1]. توهان ڇا ٿا سوچيو ته ان جو نتيجو ٿيندو. پاڻ ڪوشش ڪريو.
فارميٽ ٿيل Strings
فارميٽ ٿيل اسٽرنگ خاص طور تي ڪارائتو آھن انھن حالتن ۾ جتي توھان متحرڪ طور ڪجھ متن ٺاھيو ٿا پنھنجي متغيرن سان. مون کي ڏيکاريو.
اچو ته اسان وٽ ٻه متغير آهن، پهريون نالو، ۽ آخري نالو.
first_name = 'Shahbaz'
last_name = 'Bhatti'
هاڻي اسان ٽرمينل تي ”شهباز [ڀٽي] هڪ ڪوڊر آهي“ ڇپائڻ چاهيون ٿا. اسان اهو ڪيئن ڪنداسين؟ اسان هن طرح هڪ ٽيون متغير متعارف ڪنداسين:
message = 'first_name + ' [' + last_name + '] is a coder'
هاڻي جيڪڏهن اسان هن پروگرام کي پرنٽ ۽ هلائينداسين ته اسان کي ٽرمينل تي ’شهباز ڀٽي آهي ڪوڊر‘ ملندو.
جڏهن ته هي طريقو مڪمل طور تي ڪم ڪري ٿو، اهو مثالي نه آهي ڇو ته جيئن اسان جو متن وڌيڪ پيچيده ٿي ويندو آهي، اهو نتيجو ڏسڻ ۾ مشڪل ٿي ويندو آهي. هي اهو آهي جتي اسان فارميٽ ٿيل اسٽرنگ استعمال ڪندا آهيون، اهي اسان لاءِ آئوٽ پٽ کي ڏسڻ لاءِ آسان بڻائيندا آهن.
اچو ته ٽيون متغير 'پيغام' کي تبديل ڪريون ۽ هڪ فارميٽ ٿيل اسٽرنگ متعارف ڪرايو. فارميٽ ٿيل اسٽرنگ جي وضاحت ڪرڻ لاءِ، پنھنجي اسٽرنگ کي 'f' سان اڳي لڳايو ۽ پوءِ پنھنجي اسٽرنگ ۾ قدرن کي متحرڪ طور داخل ڪرڻ لاءِ گھڙيل ڪڙيون استعمال ڪريو. اسان جو پروگرام ڪجهه هن طرح نظر ايندو:
first_name = 'Shahbaz'
last_name = 'Bhatti'
message = f'{first_name} [{last_name}] is a coder'
فارميٽ ٿيل اسٽرنگ جي وضاحت ڪرڻ لاءِ، پنھنجي اسٽرنگ کي F سان اڳي لڳايو ۽ پوءِ پنھنجي اسٽرنگ ۾ قدرن کي متحرڪ طور داخل ڪرڻ لاءِ گھڙيل ڪڙيون استعمال ڪريو.
سٺيون شيون توهان ڪري سگهو ٿا Python Strings سان
مان توهان کي ڪجهه واقعي سٺيون شيون ڏيکارڻ وارو آهيان جيڪي توهان Python تارن سان ڪري سگهو ٿا.
1. اسٽرنگ ۾ اکرن جو تعداد
تنهن ڪري اچو ته هڪ متغير جي وضاحت ڪندي شروع ڪريون:
message = 'Shahbaz Bhatti is a Coder '
هاڻي جيڪڏهن مان مٿي ڏنل اسٽرنگ ۾ اکرن جو تعداد طئي ڪرڻ چاهيان ته پٿون ۾ هڪ بلٽ ان فنڪشن ”لين“ آهي. صرف هن فنڪشن سان متغير کي پرنٽ ڪريو
print(len(message))
اهو خاص طور تي مفيد آهي جڏهن توهان صارف کان ان پٽ حاصل ڪندا آهيو. مثال طور، توهان محسوس ڪيو آهي ته جڏهن توهان هڪ فارم آن لائن ڀريندا آهيو، هر ان پٽ فيلڊ اڪثر ڪري هڪ حد هوندي آهي. مثال طور، توھان وٽ توھان جي نالي لاءِ 50 اکر آھن، تنھنڪري ھن ”len“ فنڪشن کي استعمال ڪندي اسان ان پٽ فيلڊ ۾ اکرن جي تعداد تي حد لاڳو ڪري سگھون ٿا.
2. اسٽرنگ ۾ اکرن کي اپر ڪيز يا لوئر ڪيز ۾ تبديل ڪرڻ
اسان ڊٽ آپريٽر ذريعي اسٽرنگ سان لاڳاپيل افعال تائين رسائي ڪري سگھون ٿا. توھان پنھنجي متغير جو نالو ٽائيپ ڪري سگھوٿا ۽ ان جي اڳيان ھڪ ڊٽ رکڻ سان توھان انھن سڀني ڪمن جي لسٽ ڏسي سگھو ٿا.
هاڻي وڌيڪ صحيح اصطلاحن ۾، توهان انهن ڪمن کي طريقن جي طور تي حوالو ڏيو ٿا، هي اعتراض تي مبني پروگرامنگ ۾ هڪ اصطلاح آهي جنهن کي اسان مستقبل ۾ ڏسڻ چاهيون ٿا، پر هن وقت، جيڪو آئون توهان کي هٽائڻ چاهيان ٿو، اهو آهي جڏهن هڪ فنڪشن ڪنهن ٻئي شيءِ سان واسطو رکي ٿو يا ڪنهن شيءِ سان مخصوص آهي، اسان ان فنڪشن کي ميٿڊ طور چوندا آهيون. انهي حالت ۾، اسان "مٿي" جو طريقو استعمال ڪنداسين اسٽرنگ کي اپر ڪيز ۾ تبديل ڪرڻ لاء.
جيئن ته هي فنڪشن هڪ اسٽرنگ لاء مخصوص آهي، اسان ان کي هڪ طريقو طور حوالو ڏنو آهي. ان جي ابتڙ "لين" ۽ "پرنٽ" عام مقصد وارا ڪم آهن، انهن جو تعلق تارن يا انگن يا شين جي ٻين قسمن سان ناهي. اهو هڪ فنڪشن ۽ هڪ طريقو جي وچ ۾ بنيادي فرق آهي.
هاڻي اچو ته هن کي پرنٽ ڪريون.
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
۽ اسان ڏسي سگهون ٿا ته اسان کي اسان جي تار وڏي ۾ ملي آهي. اهڙي طرح، اسان وٽ هڪ طريقو آهي "لوئر" اسٽرنگ کي ننڍي ۾ تبديل ڪرڻ لاء. توھان پڻ استعمال ڪري سگھو ٿا طريقو "عنوان" اسٽرنگ جي ھر لفظ کي سرمائي ڪرڻ لاء.
نوٽ ڪريو ته اهو طريقو اسان جي اصل اسٽرنگ کي تبديل يا تبديل نٿو ڪري. حقيقت ۾، اهو هڪ نئون تار ٺاهي ٿو ۽ ان کي واپس ڪري ٿو.
3. اسٽرنگ ۾ اکرن جو تسلسل ڳولھيو
اچو ته هڪ ٻيو طريقو ڪوشش ڪريون انڊيڪس کي ڳولهڻ لاءِ اسٽرنگ ۾ ڪنهن خاص ڪردار جي.
قسم:
message.find('b')
ساڳئي variable کان پوء ۽ ان کي پرنٽ. اهو اسٽرنگ ۾ خط 'b' جي پهرين واقعن جي انڊيڪس کي پرنٽ ڪندو جيڪو هن صورت ۾ 4 آهي.
نوٽ ڪريو ته هي طريقو ڪيس حساس آهي ۽ اهو واپس ايندو -1 جيڪڏهن ڪردار اسٽرنگ ۾ نه مليو آهي. اهو پڻ ڪردارن جي هڪ ترتيب لاء استعمال ڪري سگهجي ٿو.
مثال طور، هيٺ ڏنل پروگرام:
message = 'Shahbaz Bhatti is a coder'
print(message.find('coder'))
"20" جي قيمت واپس ڪندو جيئن تسلسل "ڪوڊر" انڊيڪس 20 کان شروع ٿئي ٿو.
4. هڪ اسٽرنگ ۾ هڪ ڪردار کي تبديل ڪرڻ
توھان استعمال ڪري سگھو ٿا ”بدلڻ“ جو طريقو ھڪ اکر کي تبديل ڪرڻ لاءِ يا ھڪڙي اسٽرنگ ۾ ڪردارن جي ھڪڙي ترتيب کي. اچو ته هن عمل ۾ ڏسو.
message = 'Shahbaz Bhatti is a coder'
print(message.replace('coder', 'programmer'))
هي پروگرام لفظ "ڪوڊر" کي "پروگرامر" سان تبديل ڪندو ۽ ان کي ٽرمينل تي پرنٽ ڪندو.
5. هڪ اسٽرنگ ۾ هڪ ڪردار جي موجودگي کي چيڪ ڪريو
هاڻي اهڙا مثال آهن جڏهن توهان چيڪ ڪرڻ چاهيو ٿا هڪ ڪردار جي موجودگي يا توهان جي تار ۾ ڪردار جي هڪ ترتيب. انهن حالتن ۾، توهان استعمال ڪري سگهو ٿا فارميٽ پنهنجي اظهار کي هن طرح:
message = 'Shahbaz Bhatti is a coder'
پرنٽ (پيغام ۾ 'python')
هاڻي هي هڪ بوليان فنڪشن واپس ڪندو. يعني ”سچو“ يا ”غلط“. هن وانگر؛
مهرباني ڪري نوٽ ڪريو ته اهي سڀئي طريقا ۽ افعال ڪيس-حساس آهن.
ويڙهيو!
تارن ۾ اڃا به گهڻو ڪجهه آهي، جيڪو اسان اڳتي وڌندا بتدريج سکنداسون. اڳيون، اسان پيٿون ۾ رياضي جا عمل ڪرڻ سکنداسون.
جواب ڇڏي وڃو