সুচিপত্র[লুকান][দেখান]
ক্র্যাশ কোর্সের তৃতীয় লেকচারে স্বাগতম।
এই লেকচারে, আমরা পাইথনে স্ট্রিং নিয়ে কাজ করতে শিখব। আপনার পপকর্ন প্রস্তুত করুন এবং শক্তভাবে বসুন।
স্ট্রিং
প্রথমে, আসুন উদ্ধৃতি সম্পর্কে কথা বলি এবং পাইথনে তারা যে বিভ্রান্তি তৈরি করতে পারে তা দূর করা যাক।
আগেই বলা হয়েছে, আমরা পাইথনে একটি ফাংশনের পরে একক এবং ডবল উদ্ধৃতি উভয়ই ব্যবহার করতে পারি। এর একটি নির্দিষ্ট উপযোগিতা রয়েছে। ধরুন আপনি এরকম কিছু প্রিন্ট করতে চান।
print('This is Shahbaz's computer')
এখন উপরের অভিব্যক্তিতে, "শাহবাজের" হিসাবে দ্বিতীয় উদ্ধৃতির পরে সমস্ত কিছুই পাইথন দোভাষীর দ্বারা অজ্ঞাত হয়ে যাবে কারণ পাইথন দ্বিতীয় উদ্ধৃতিটিকে স্ট্রিংয়ের শেষ হিসাবে গ্রহণ করবে। এই ক্ষেত্রে, আপনি এই মত স্ট্রিং ঘোষণা করতে ডবল উদ্ধৃতি ব্যবহার করতে চান:
print("This is Shahbaz's computer")
এটি অন্যভাবেও প্রয়োগ করা যেতে পারে এবং স্ট্রিংয়ের ভিতরে ডবল কোটেশন থাকলে আমরা একক উদ্ধৃতি ব্যবহার করতে পারি। যেমন
print('This "computer" belongs to Shahbaz')
এখন আপনি যদি একাধিক লাইন বিস্তৃত একটি স্ট্রিং প্রিন্ট করতে চান, তাহলে আপনাকে স্ট্রিংটি ঘেরাও করতে ট্রিপল কোট ব্যবহার করতে হবে। স্ট্রিংয়ের বিষয়বস্তুর উপর নির্ভর করে এই উদ্ধৃতিগুলি একক বা দ্বিগুণও হতে পারে। উদাহরণ স্বরূপ:
এখন ধরা যাক আপনি স্ট্রিং থেকে একটি নির্দিষ্ট অক্ষর মুদ্রণ করতে চান। আপনি এটা কিভাবে করবেন?
পাইথন ইন্টারপ্রেটার স্ট্রিং এর অক্ষরগুলিকে এইভাবে সূচী করে:
আপনি টার্মিনালে দেখতে পাচ্ছেন, শুধুমাত্র 'h' প্রিন্ট করা হয়েছে। কারণ আমরা আমাদের স্ট্রিং থেকে শুধুমাত্র তৃতীয় অক্ষরটি বেছে নিয়েছি যা টার্মিনালে প্রিন্ট করার জন্য বর্গাকার বন্ধনীতে ভেরিয়েবলের পরে 3 লিখে। পাইথন ইন্টারপ্রেটার বড় স্ট্রিংগুলিকে সহজ করার জন্য নেতিবাচক অক্ষরগুলিকেও সূচী করে। তার মানে '-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 দিয়ে উপসর্গ করুন এবং তারপরে আপনার স্ট্রিংগুলিতে গতিশীলভাবে মান সন্নিবেশ করতে কোঁকড়া ধনুর্বন্ধনী ব্যবহার করুন৷
চমৎকার জিনিস আপনি পাইথন স্ট্রিংস দিয়ে করতে পারেন
আমি আপনাকে কিছু সত্যিই দুর্দান্ত জিনিস দেখাতে যাচ্ছি যা আপনি পাইথন স্ট্রিং দিয়ে করতে পারেন।
1. একটি স্ট্রিং-এ অক্ষরের সংখ্যা
সুতরাং চলুন শুরু করা যাক একটি পরিবর্তনশীল সংজ্ঞায়িত করে:
message = 'Shahbaz Bhatti is a Coder '
এখন যদি আমি উপরের স্ট্রিংটিতে অক্ষরের সংখ্যা নির্ধারণ করতে চাই, পাইথনে একটি বিল্ট-ইন ফাংশন " len " আছে। শুধু এই মত এই ফাংশন সঙ্গে ভেরিয়েবল প্রিন্ট
print(len(message))
আপনি যখন ব্যবহারকারীর কাছ থেকে ইনপুট পান তখন এটি বিশেষভাবে কার্যকর। উদাহরণস্বরূপ, আপনি লক্ষ্য করেছেন যে আপনি যখন অনলাইনে একটি ফর্ম পূরণ করেন, তখন প্রতিটি ইনপুট ক্ষেত্রের একটি সীমা থাকে। উদাহরণস্বরূপ, আপনার নামের জন্য 50টি অক্ষর থাকতে পারে, তাই এই "লেন" ফাংশনটি ব্যবহার করে আমরা একটি ইনপুট ক্ষেত্রে অক্ষরের সংখ্যার একটি সীমা প্রয়োগ করতে পারি।
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'
মুদ্রণ (বার্তায় 'পাইথন')
এখন এটি একটি বুলিয়ান ফাংশন প্রদান করবে। যেমন "সত্য" বা "মিথ্যা"। এটার মত;
দয়া করে মনে রাখবেন যে এই সমস্ত পদ্ধতি এবং ফাংশন কেস-সংবেদনশীল।
শেষ করি!
স্ট্রিং-এর আরও অনেক কিছু আছে, যেটা আমরা ধীরে ধীরে শিখতে পারব। এর পরে, আমরা পাইথনে গাণিতিক ক্রিয়াকলাপ করতে শিখব।
নির্দেশিকা সমন্ধে মতামত দিন