Strings in Python

String in Python
String in Python

পাইথনে String কি?

এক সঙ্গে অনেকগুলো character বা এক বা একাধিক word এর সমষ্টিকে প্রোগ্রামিং এর পরিভাষায় String বলা হয়ে থাকে। পাইথনে String খুবই গুরুত্বপূর্ণ একটি ডেটা টাইপ। পাইথনে যে কোন Sentence কেই String হিসেবে ব্যবহার করা যায়। পাইথনে তিন ভাবে String কে রিপ্রেজেন্ট করা যায়। সে গুলো হচ্ছে Single Quotation (‘ ‘), Double Quotation (” “) এবং Three Quotation (“”” “””) এর মাধ্যমে। আপনি যদি পাইথন কনসোলে নিচের মত করে বাক্য লিখে এন্টার প্রেস করেন তাহলে আউটপুটে সেই বাক্যকে দেখতে পাবেন।

print('This is a String with Single Quotation') print("This is a Another String with Double Quotation") print("""This is Extra String with Three Quotation""")
1
2
print('This is a String with Single Quotation')
print("This is a Another String with Double Quotation")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

আর যদি PowerShell বা command Line এ উপরোক্ত তিনটি লাইন execute করার চেষ্টা করেন , তাহলে নিচের মতো রেজাল্ট আসবে:

>>> 'This is a String with Single Quotation'
'This is a String with Single Quotation'
>>> "This is a Another String with Double Quotation"
'This is a Another String with Double Quotation'
>>> """This is Extra String with Three Quotation"""
'This is Extra String with Three Quotation'
>>> 

লক্ষণীয়, ইনপুট দেয়ার সময় ডাবল বা সিঙ্গেল কোটেশন যাই ব্যবহার করা হোক না কেন, আউটপুটের সময় সিঙ্গেল কোট দিয়ে সেই স্ট্রিং কে দেখায়।

কিছু Character কে সরাসরি একটি String এর মধ্যে ব্যবহার করা যায় না। যেমন, Double Quote (” “) দিয়ে নির্দেশ করা একটি String এর মধ্যে Double Quote (” “)থাকতে পারবেনা একইভাবে Single Quote (‘ ‘) দিয়ে নির্দেশ করা একটি String এর মধ্যে Single Quote (‘ ‘)থাকতে পারবেনা । আর এর জন্য পাইথন আপনাকে এরর প্রদর্শন করবে। আর তাই এরকম Character গুলোর সামনে একটি Backslash (\) চিহ্ন দিয়ে Escape করে দিতে হবে। যেমন:

print('Rizvi once said: "I\'ll be back"') print("Ashiq once said: \"I'll be back\"")
1
2
print('Rizvi once said: "I\'ll be back"')
print("Ashiq once said: \"I'll be back\"")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

পাইথনে যদি একাধিক লাইন সম্বলিত কোনো String কে তিনটি করে কোটেশন (“”” “””)এর মধ্যে ডিফাইন করা হয়, তাহলে newline Character (\n) ম্যানুয়ালি লেখার দরকার পরে না । নিচের উদাহরণটি দেখি:

print(""" Hello How\'re you? Yes, I'm Fine""") print(" Hello How're you?\nYes, I'm Fine")
1
2
print(""" Hello How\'re you?
Yes, I'm Fine""")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

লক্ষ্য করুন উপরে, দুই লাইনের একটি string কে ইনপুট হিসেবে দিয়েছি এবং আউটপুটে দেখা যাচ্ছে সে string এর মধ্যে যেখানে নতুন লাইন দরকার সেখানে পাইথন স্বয়ংক্রিয় ভাবে \n ক্যারেক্টার বসিয়ে দিয়েছে।

Special Escape Sequence
কিছু প্রচলিত এস্কেইপ সিকুয়েন্স নিচে দেওয়া হলো –

সিকুয়েন্স পরিচিতি
\\ একটা ব্যাকস্ল্যাশ
\' সিঙ্গল কোট (‘)
\" ডাবল কোট (“)
\a বেল
\b ব্যাকস্পেইস
\f ফর্মফিড
\n লাইন ব্রেক
\N{name} ইউনিকোড ক্যারেক্টার এর নাম
\r ASCII ক্যারিজ রিটার্ন (ম্যাক ওস এক্স এ নিউ লাইন ক্যারেক্টার)
\t ট্যাব
\uxxxx ১৬ বিট হেক্সাডেসিম্যাল ভ্যালু সম্বলিত ইউনিকোড ক্যারেক্টার
\Uxxxxxxxx ৩২ বিট হেক্সাডেসিম্যাল ভ্যালু বিশিষ্ট ইউনিকোড ক্যারেক্টার
\v ভার্টিক্যাল ট্যাব
\ooo `ooo` অক্টাল ভ্যালু বিশিষ্ট ক্যারেক্টার
\xhh `hh` হেক্সাডেসিম্যাল ভ্যালুওয়ালা ক্যারেক্টার

String Operation

Accessing Characters in Strings (স্ট্রিং এর মধ্যে প্রতিটি Character এ Access)

যদিও পাইথনে character data type সাপোর্ট করেনা, তবে আপনি চাইলে substring হিসেবে string এর ইনডেক্স ধরে একটি নির্দিষ্ট অংশ বা যেকোনো character কে print করতে পারেন।

আমরা তিনটি উপায়ে একটি string character গুলোতে access করতে পারি।

Indexing: একটি উপায় হল string কে একটি list হিসাবে বিবেচনা করা এবং index value হিসেবে ব্যবহার করা। উদাহরণ স্বরূপ:

greet = 'hello' # access 1st index element print(greet[0]) # "h"
1
2
greet = 'hello'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Negative Indexing: একটি list এর অনুরূপ, পাইথন তার strings গুলির জন্য negative indexing অনুমতি দেয়। উদাহরণ স্বরূপ:

greet = 'hello' # access 1st index element print(greet[-3]) # "l"
1
2
greet = 'hello'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Slicing: Slicing operator colon (:) ব্যবহার করে একটি string -এ অক্ষরের একটি নির্দিষ্ট সীমা পর্যন্ত অ্যাক্সেস করতে পারেন । উদাহরণ স্বরূপ:

str="Hello World" print(str[0:3]) print (str[0:-3])
1
2
str="Hello World"
print(str[0:3])
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

ব্যাখ্যা: প্রথম print এ আমরা একটা নির্দিষ্ট character কে print করি , আর দ্বিতীয় print এ আমরা string এর কত টুকু দেখাবো তা index নম্বর দিয়ে বলে দেই।

Updating Strings (String এর একটি নির্দিষ্ট অংশ পরিবর্তন করা )

index ধরে আপনি খুব সহজে string এর বিভিন্ন অংশে পরিবর্তন আনতে পারেন, নিচের উদাহরণ লক্ষ্য করুন :

str="Hello World" print ("Updated String :- ", str[:6] + 'Python')
1
2
str="Hello World"
print ("Updated String :- ", str[:6] + 'Python')
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Python Strings are immutable

উপরের উদাহরণে যদিও আমরা একটা Updating String পেয়েছি। তবে সত্যিকার অর্থে মূল string এর কোনো পরিবর্তন হবেনা। আর এই জন্য Python String কে বলা হয় immutable. আর উপরে যেটা হয়েছে সেটা হচ্ছে String এর নির্দিষ্ট অংশ concatenet হয়েছে।

str="Hello World" print ("Updated String :- ", str[:6] + 'Python') print(str)
1
2
str="Hello World"
print ("Updated String :- ", str[:6] + 'Python')
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

স্ট্রিং কনক্যাটেনেশন (Concatenation)

দুই বা ততোধিক string কে একটির সাথে আরেকটি জোড়া লাগানোর জন্য plus sign (+) ব্যবহৃত হয়, আর এটাকে বলা হয় কনক্যাটেনেশন (Concatenation). নিচের উদাহরণে লক্ষ্য করুন :

print("Khalid "+"Sahin") print("First Name" + ", " + "Last Name") firstName="Masud" lastName="Alam" print(firstName + ", " + lastName)
1
2
print("Khalid "+"Sahin")
print("First Name" + ", " + "Last Name")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

উল্লেখ্য, মনে রাখতে হবে কোন নাম্বারের সাথে স্ট্রিং কনক্যাটেনেশন (Concatenation) করা যাবে না।

print(5+"5")
1
print(5+"5")
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

স্ট্রিং রিপিটেশন (Repetition)

একটি String কতবার repeat করে প্রদর্শন করবেন, তা পাইথনে খুব সহজেই করা যায়, আর এর জন্য আপনাকে multiplication sign (*) টি ব্যবহার করতে হবে। চলুন নিচের উদাহরণ দেখে বুঝে নেওয়া যাক :

print ("Hello "*3) Hello Hello Hello print("10 "*3) print ("*"*10)
1
2
print ("Hello "*3)
Hello Hello Hello
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Finding Substring in a String (String এর একটি নির্দিষ্ট অংশ খোঁজা)

String এর একটি নির্দিষ্ট অংশ খোঁজার জন্য আপনি String এর in Operator ব্যবহার করতে পারেন। নিচের উদাহরণ দেখুন :

str="Hello World" print("W" in str)
1
2
str="Hello World"
print("W" in str)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

একই ভাবে not in operator দিয়ে কোনো অংশ নাই তা নিশ্চিত করতে পারেন। নিচের উদাহরণ দেখুন :

str="Hello World" print("Python" not in str)
1
2
str="Hello World"
print("Python" not in str)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Iterate Through a Python String

আমরা একটি for loop ব্যবহার করে একটি string এর মধ্যে iterate করতে পারি। উদাহরণ স্বরূপ:

greet = 'Hello' # iterating through greet string for letter in greet: print(letter)
1
2
greet = 'Hello'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Python String Length

পাইথনে, আমরা একটি string এর length বের করতে len()method ব্যবহার করতে পারি । উদাহরণস্বরূপ:

greet = 'Hello' # count length of greet string print(len(greet)) # Output: 5
1
2
greet = 'Hello'
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1/0 0/0

Python String Formatting (f-Strings)

Python f-Strings value গুলো এবং variable গুলো print করা সত্যিই সহজ করে তোলে। উদাহরণ স্বরূপ:

1
2
3
4
name = 'Imran'
country = 'UK'
 
print(f'{name} is from {country}')

Result

Imran is from UK

এখানে, f'{name} এবং {country}’ একটি f-string.

1
2
3
4
5
6
# Prints today's date with help
# of datetime library
import datetime
 
today = datetime.datetime.today()
print(f"{today:%B %d, %Y}")

Result

January 25, 2023

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply