Python Data Types
Strings 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""")
আর যদি 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\"")
Web Development, Data Science and Big Data Course with Python, MongoDB, MySQL and Django
পাইথনে যদি একাধিক লাইন সম্বলিত কোনো String কে তিনটি করে কোটেশন (“”” “””)এর মধ্যে ডিফাইন করা হয়, তাহলে newline Character (\n) ম্যানুয়ালি লেখার দরকার পরে না । নিচের উদাহরণটি দেখি:
print(""" Hello How\'re you?
Yes, I'm Fine""")
print(" Hello How're you?\nYes, I'm Fine")
লক্ষ্য করুন উপরে, দুই লাইনের একটি 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"
Negative Indexing: একটি list এর অনুরূপ, পাইথন তার strings গুলির জন্য negative indexing অনুমতি দেয়। উদাহরণ স্বরূপ:
greet = 'hello'
# access 1st index element
print(greet[-3]) # "l"
Slicing: Slicing operator colon (:) ব্যবহার করে একটি string -এ অক্ষরের একটি নির্দিষ্ট সীমা পর্যন্ত অ্যাক্সেস করতে পারেন । উদাহরণ স্বরূপ:
str="Hello World"
print(str[0:3])
print (str[0:-3])
ব্যাখ্যা: প্রথম print এ আমরা একটা নির্দিষ্ট character কে print করি , আর দ্বিতীয় print এ আমরা string এর কত টুকু দেখাবো তা index নম্বর দিয়ে বলে দেই।
Web Development, Data Science and Big Data Course with Python, MongoDB, MySQL and Django
Updating Strings (String এর একটি নির্দিষ্ট অংশ পরিবর্তন করা )
index ধরে আপনি খুব সহজে string এর বিভিন্ন অংশে পরিবর্তন আনতে পারেন, নিচের উদাহরণ লক্ষ্য করুন :
str="Hello World"
print ("Updated String :- ", str[:6] + 'Python')
Python Strings are immutable
উপরের উদাহরণে যদিও আমরা একটা Updating String পেয়েছি। তবে সত্যিকার অর্থে মূল string এর কোনো পরিবর্তন হবেনা। আর এই জন্য Python String কে বলা হয় immutable. আর উপরে যেটা হয়েছে সেটা হচ্ছে String এর নির্দিষ্ট অংশ concatenet হয়েছে।
str="Hello World"
print ("Updated String :- ", str[:6] + 'Python')
print(str)
স্ট্রিং কনক্যাটেনেশন (Concatenation)
দুই বা ততোধিক string কে একটির সাথে আরেকটি জোড়া লাগানোর জন্য plus sign (+) ব্যবহৃত হয়, আর এটাকে বলা হয় কনক্যাটেনেশন (Concatenation). নিচের উদাহরণে লক্ষ্য করুন :
print("Khalid "+"Sahin")
print("First Name" + ", " + "Last Name")
firstName="Masud"
lastName="Alam"
print(firstName + ", " + lastName)
উল্লেখ্য, মনে রাখতে হবে কোন নাম্বারের সাথে স্ট্রিং কনক্যাটেনেশন (Concatenation) করা যাবে না।
print(5+"5")
স্ট্রিং রিপিটেশন (Repetition)
একটি String কতবার repeat করে প্রদর্শন করবেন, তা পাইথনে খুব সহজেই করা যায়, আর এর জন্য আপনাকে multiplication sign (*) টি ব্যবহার করতে হবে। চলুন নিচের উদাহরণ দেখে বুঝে নেওয়া যাক :
print ("Hello "*3)
Hello Hello Hello
print("10 "*3)
print ("*"*10)
Finding Substring in a String (String এর একটি নির্দিষ্ট অংশ খোঁজা)
String এর একটি নির্দিষ্ট অংশ খোঁজার জন্য আপনি String এর in Operator ব্যবহার করতে পারেন। নিচের উদাহরণ দেখুন :
str="Hello World"
print("W" in str)
একই ভাবে not in operator দিয়ে কোনো অংশ নাই তা নিশ্চিত করতে পারেন। নিচের উদাহরণ দেখুন :
str="Hello World"
print("Python" not in str)
Iterate Through a Python String
আমরা একটি for loop ব্যবহার করে একটি string এর মধ্যে iterate করতে পারি। উদাহরণ স্বরূপ:
greet = 'Hello'
# iterating through greet string
for letter in greet:
print(letter)
Python String Length
পাইথনে, আমরা একটি string এর length বের করতে len()method ব্যবহার করতে পারি । উদাহরণস্বরূপ:
greet = 'Hello'
# count length of greet string
print(len(greet))
# Output: 5
Web Development, Data Science and Big Data Course with Python, MongoDB, MySQL and Django
Python String Formatting (f-Strings)
Python f-Strings value গুলো এবং variable গুলো print করা সত্যিই সহজ করে তোলে। উদাহরণ স্বরূপ:
name = 'Imran' country = 'UK' print(f'{name} is from {country}')
Result
Imran is from UK
এখানে, f'{name} এবং {country}’ একটি f-string.
# 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