کی میز کے مندرجات[چھپائیں][دکھائیں]
کریش کورس کے تیسرے لیکچر میں خوش آمدید۔
اس لیکچر میں، ہم Python میں تاروں سے نمٹنا سیکھیں گے۔ اپنا پاپ کارن تیار کریں اور مضبوطی سے بیٹھیں۔
سٹرنگز
سب سے پہلے، آئیے اقتباسات کے بارے میں بات کریں اور اس الجھن کو ختم کریں جو وہ ازگر میں متعارف کر سکتے ہیں۔
جیسا کہ پہلے کہا گیا ہے، ہم Python میں فنکشن کے بعد سنگل اور ڈبل کوٹس استعمال کر سکتے ہیں۔ اس کی ایک خاص افادیت ہے۔ فرض کریں کہ آپ اس طرح کچھ پرنٹ کرنا چاہتے ہیں۔
print('This is Shahbaz's computer')
اب مندرجہ بالا اظہار میں، دوسرے اقتباس کے بعد کی ہر چیز جیسا کہ "شہباز" میں ہے، ازگر کے ترجمان کے ذریعے نامعلوم ہو جائے گا کیونکہ پائتھون دوسرے اقتباس کو سٹرنگ کے آخر میں لے گا۔ اس صورت میں، آپ اس طرح سٹرنگ کا اعلان کرنے کے لیے ڈبل کوٹس استعمال کرنا چاہتے ہیں:
print("This is Shahbaz's computer")
یہ دوسرے طریقے سے بھی لاگو کیا جا سکتا ہے اور اگر سٹرنگ کے اندر ڈبل کوٹیشن ہوں تو ہم سنگل کوٹس استعمال کر سکتے ہیں۔ مثال کے طور پر
print('This "computer" belongs to Shahbaz')
اب اگر آپ ایک سٹرنگ پرنٹ کرنا چاہتے ہیں جو متعدد لائنوں پر محیط ہو، تو آپ کو سٹرنگ کو بند کرنے کے لیے ٹرپل کوٹس استعمال کرنا ہوں گے۔ یہ اقتباسات سٹرنگ کے مواد کے لحاظ سے سنگل یا ڈبل بھی ہو سکتے ہیں۔ مثال کے طور پر:
اب ہم کہتے ہیں کہ آپ سٹرنگ سے ایک خاص کریکٹر پرنٹ کرنا چاہتے ہیں۔ آپ ایسا کیسے کریں گے؟
Python انٹرپریٹر سٹرنگ میں حروف کو اس طرح ترتیب دیتا ہے:
جیسا کہ آپ ٹرمینل میں دیکھ سکتے ہیں، صرف 'h' پرنٹ کیا گیا ہے۔ اس کی وجہ یہ ہے کہ ہم نے ٹرمینل پر پرنٹ کرنے کے لیے اپنی سٹرنگ میں صرف تیسرا کریکٹر منتخب کیا ہے جس میں متغیر کے بعد مربع بریکٹ میں 3 لکھ کر لکھیں۔ Python انٹرپریٹر بڑی تاروں کو آسان بنانے کے لیے حروف کو منفی میں بھی ترتیب دیتا ہے۔ اس کا مطلب ہے کہ '-1' سٹرنگ میں آخری نمبر ہو گا وغیرہ وغیرہ۔ نوٹ کریں کہ خالی جگہوں کو انڈیکس نہیں کیا گیا ہے جس کا مطلب ہے کہ مندرجہ بالا سٹرنگ میں صرف 21 انڈیکسڈ اسپیس ہوں گی۔
آپ سٹرنگ سے حروف کی ایک سیریز بھی منتخب کر سکتے ہیں۔ مثال کے طور پر
HashDork = ('Python Course by Shahbaz')
print(HashDork[0:3])
یہ پروگرام ٹرمینل پر 'Pyt' پرنٹ کرے گا۔ انڈیکس 3 اس سے خارج ہے۔
HashDork = ('Python Course by Shahbaz')
print(HashDork[2:])
اسی طرح، اگر ہم اینڈ انڈیکس فراہم نہیں کرتے ہیں، تو ازگر پہلے انڈیکس کے بعد پوری سٹرنگ پرنٹ کرے گا۔ اس پروگرام کا آؤٹ پٹ 'تھون کورس از شہباز' ہوگا۔ یہ اس کے برعکس رکھتا ہے۔ یعنی اگر ہم پہلا انڈیکس چھوڑ دیتے ہیں تو شروع سے آخری طے شدہ انڈیکس تک پوری سٹرنگ پرنٹ ہوجائے گی۔
انڈیکسنگ بریکٹ میں صرف بڑی آنت والا پروگرام ٹرمینل پر مکمل سٹرنگ حاصل کرے گا۔
مشق
یہاں ایک دلچسپ مشق ہے۔
ایک پروگرام لکھیں جو [1:-1] کے انڈیکس وقفہ کی وضاحت کرے۔ آپ کو کیا لگتا ہے کہ آؤٹ پٹ ہو گا۔ خود کریں.
فارمیٹ شدہ سٹرنگز
فارمیٹ شدہ تاریں خاص طور پر ان حالات میں مفید ہیں جہاں آپ اپنے متغیرات کے ساتھ متحرک طور پر کچھ متن تیار کرتے ہیں۔ مجھے دکھانے دیجئے.
ہم کہتے ہیں کہ ہمارے پاس دو متغیرات ہیں، پہلا نام، اور آخری نام۔
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 کے ساتھ کر سکتے ہیں۔
میں آپ کو کچھ بہت عمدہ چیزیں دکھانے جا رہا ہوں جو آپ ازگر کے تاروں کے ساتھ کر سکتے ہیں۔
1. ایک سٹرنگ میں حروف کی تعداد
تو آئیے ایک متغیر کی وضاحت کرکے شروع کریں:
message = 'Shahbaz Bhatti is a Coder '
اب اگر میں مندرجہ بالا سٹرنگ میں حروف کی تعداد کا تعین کرنا چاہتا ہوں، تو Python میں ایک بلٹ ان فنکشن ” len ” موجود ہے۔ صرف اس فنکشن کے ساتھ متغیر کو اس طرح پرنٹ کریں۔
print(len(message))
یہ خاص طور پر مفید ہے جب آپ صارف سے ان پٹ وصول کرتے ہیں۔ مثال کے طور پر، آپ نے دیکھا ہے کہ جب آپ آن لائن فارم بھرتے ہیں، تو ہر ان پٹ فیلڈ کی اکثر ایک حد ہوتی ہے۔ مثال کے طور پر، آپ کے پاس آپ کے نام کے لیے 50 حروف ہوسکتے ہیں، اس لیے اس "len" فنکشن کا استعمال کرتے ہوئے ہم ان پٹ فیلڈ میں حروف کی تعداد کی حد کو نافذ کر سکتے ہیں۔
2. سٹرنگ میں حروف کو بڑے یا چھوٹے میں تبدیل کرنا
ہم ڈاٹ آپریٹر کے ذریعے سٹرنگ سے متعلق افعال تک رسائی حاصل کر سکتے ہیں۔ آپ اپنا ویری ایبل نام ٹائپ کر سکتے ہیں اور اس کے آگے ایک ڈاٹ لگا کر آپ ایسے تمام فنکشنز کی فہرست دیکھ سکتے ہیں۔
اب زیادہ درست الفاظ میں، آپ ان فنکشنز کو طریقوں کے طور پر حوالہ دیتے ہیں، یہ آبجیکٹ اورینٹڈ پروگرامنگ کی ایک اصطلاح ہے جسے ہم مستقبل میں دیکھنا چاہتے ہیں، لیکن ابھی کے لیے، میں آپ سے جو چیز ہٹانا چاہتا ہوں، وہ یہ ہے کہ جب کوئی فنکشن کسی اور چیز سے تعلق رکھتا ہے یا کسی قسم کی چیز سے مخصوص ہے، ہم اس فنکشن کو بطور طریقہ کہتے ہیں۔ اس صورت میں، ہم سٹرنگ کو بڑے حروف میں تبدیل کرنے کے لیے "اوپر" کا طریقہ استعمال کریں گے۔
چونکہ یہ فنکشن سٹرنگ کے لیے مخصوص ہے، ہم اسے ایک طریقہ کے طور پر کہتے ہیں۔ اس کے برعکس "لین" اور "پرنٹ" عام مقصد کے افعال ہیں، ان کا تعلق تاروں یا اعداد یا دیگر قسم کی اشیاء سے نہیں ہے۔ یہ ایک فنکشن اور طریقہ کار کے درمیان بنیادی فرق ہے۔
اب، آئیے اسے پرنٹ کرتے ہیں۔
message = 'Shahbaz Bhatti is a coder'
print(message.upper())
اور ہم دیکھ سکتے ہیں کہ ہمیں اپنی سٹرنگ بڑے حروف میں ملی ہے۔ اسی طرح، ہمارے پاس سٹرنگ کو لوئر کیس میں تبدیل کرنے کا طریقہ "لوئر" ہے۔ آپ سٹرنگ کے ہر لفظ کو بڑا کرنے کے لیے "ٹائٹل" کا طریقہ بھی استعمال کر سکتے ہیں۔
نوٹ کریں کہ طریقہ ہماری اصل سٹرنگ کو تبدیل یا ترمیم نہیں کرتا ہے۔ درحقیقت، یہ ایک نئی تار بناتا ہے اور اسے واپس کرتا ہے۔
3. ایک سٹرنگ میں حروف کی ترتیب تلاش کریں۔
آئیے سٹرنگ میں کسی خاص کریکٹر کی انڈیکس تلاش کرنے کے لیے ایک اور طریقہ آزماتے ہیں۔
قسم:
message.find('b')
اسی متغیر کے بعد اور اسے پرنٹ کریں۔ یہ اسٹرنگ میں حرف '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')
اب یہ ایک بولین فنکشن لوٹائے گا۔ یعنی "سچ" یا "غلط"۔ اس طرح؛
براہ کرم نوٹ کریں کہ یہ تمام طریقے اور افعال کیس حساس ہیں۔
لپیٹ!
تاروں میں اور بھی بہت کچھ ہے، جو ہم آہستہ آہستہ سیکھیں گے جیسے جیسے ہم آگے بڑھیں گے۔ اگلا، ہم Python میں ریاضی کی کارروائیاں کرنا سیکھیں گے۔
جواب دیجئے