Python string special operators & string formatting operator bangla

স্ট্রিং-এর বিশেষ ও ফরম্যাটিং অপারেটর :

Python string special operators bangla

পাইথনে স্ট্রিং নিয়ে কাজ করার জন্য বেশ কয়েক ধরনের বিশেষ অপারেটর রয়েছে। যেমন -

Operator Description Example
+ Concatenation - Adds values on either side of the operator a+b will give HelloPython
* Repetition - Creates new strings, concatenating multiple copies of the same string a*2 will give -HelloHello
[ ] Slice - Gives the character from the given index a[1] will give e
[:] Range Slice - Gives the characters from the given range a[1:4] will give ell
in Membership - Returns true if a character exists in the given string H in a will give 1
not in Membership - Returns true if a character does not exist in the given string M not in a will give 1
r/R Raw String - Suppresses actual meaning of
Escape characters. The syntax for raw strings is exactly
the same as for normal strings with the exception
of the raw string operator, the letter ''r," which precedes
the quotation marks. The "r"can be lowercase (r)
or uppercase (R) and must be placed
immediately preceding the first quote mark.
print r'\n' prints \n and print R'\n'prints \n
% Format - Performs String formatting

পাইথনের স্ট্রিং এর জন্য বহুল ব্যবহৃত অপারেটরসমূহ হলােঃ

> কনক্যাটেনেশন অপারেটর (Concatenation operator)

> রিপিটিশন অপারেটর (Repitition operator)

> মেম্বারশীপ অপারেটর (Membership operator)

নিম্নে পাইথনের বহুল ব্যবহৃত অপারেটরসমূহ ও তাদের ব্যবহার আলােচনা করা হলাে :

কনক্যাটেনেশন অপারেটর (Concatenation operator) : 

দুইটি String-কে সংযুক্ত করার পদ্ধতি হচ্ছে String Concatenation। এ জন্য (+) operator ব্যবহার করা হয়। যেমন-

>>> "Hello" + 'world'
Hello world!
>>> print("Mahi" + "&" + "Mahdee")
Mahi & Mahdee
>>>

এখানে “Hello" ও "world" নামে দুইটি আলাদা স্ট্রিং ইনপুট নিয়ে কনক্যাটেনেশন অপারেটর '+' ব্যবহার করে দুইটি স্ট্রিংকে সংযুক্ত করে আউটপুট হিসেবে "Hello world" পাওয়া গেল। 

পরবর্তী কমান্ডে একইভাবে তিনটি স্ট্রিং 'Mahi' '&' এবং 'Mahdee' নামক তিনটি স্ট্রিংকে সংযুক্ত করা হয়েছে।

উল্লেখ্য যে, সংখ্যা ও স্ট্রিংকে এক সাথে Concatenation operator-এর মাধ্যমে সংযুক্ত করা যায় না।

উদাহরণ ঃ
>>> "2" + "2"
22
>>> 1 + "2" + 3 + "4"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'int' and 'str'

উপরােক্ত উদাহরণে প্রথম কমান্ডে দুইটি স্ট্রিংকে সংযুক্ত করা হয়েছে। কিন্তু পরবর্তী কমান্ডে দুইটি সংখ্যা (1,3) এবং দুইটি স্ট্রিং ('2', '4') সংযুক্ত করার চেষ্টা করলে এরর দেখাচ্ছে।

এ ধরনের সমস্যা সমাধানের ক্ষেত্রে সংখ্যাকে স্ট্রিং-এ রূপান্তর করে নিতে হবে। সংখ্যাকে স্ট্রিং-এ রূপান্তর করার জন্য str ()
ফাংশন ব্যবহার করা হয়। যেমন -

>>> str(1) + '2' + str(3) + '4'
'1234'

এখানে str হলাে string-এর সংক্ষিপ্ত রূপ এবং পাইথনের একটি বিল্ট-ইন ফাংশন। এর মাধ্যমে ইন্টিজার বা পূর্ণ সংখ্যাকে স্ট্রিং ভ্যালুতে রূপান্তর করা হয়।

আবার সংখ্যাকে কোটেশন চিহ্নের মাধ্যমে প্রকাশ করেও Concatenation করা যায়। যেমন-
>>> '1' + '2' + '3' + '4'
'1234'
>>>
দুইটি স্ট্রিং-এর মধ্যে স্পেস দেওয়ার নিয়ম।
দুইটি স্ট্রিং-এর মধ্যে স্পেস দেয়ার জন্য যেকোনাে একটি স্ট্রিং ভ্যালুর কোটেশন চিহ্নের মাঝখানে স্পেস দিতে হবে।
উদাহরণ ঃ
>>> 'Welcome' + 'to' + 'Bangladesh'
'Welcome to Bangladesh'
>>>
উপরােক্ত উদাহরণে 'Welcome ' এর পর একটি স্পেস এবং ' Bangladesh'এর আগে একটি স্পেস দেওয়া হয়েছে। 

ফলে 'Welcome to Bangladesh' প্রদর্শিত হয়েছে।

ৱিপিটিশন অপারেটর (Repitition operator) : 

একই string-এর একাধিক কপির পুনরাবৃত্তির পদ্ধতি হচ্ছে string Repitition।

এ জন্য (*) oporator ব্যবহার করা হয়। এক্ষেত্রে Repetition Oporator (*) এর আগে কত বার পুনরাবৃত্তি
হবে তার সংখ্যা দিয়ে দিতে হবে। যেমন-
>>> 'Desh' * 3
'DeshDeshDesh'
>>> 4*  '5'
'5555'
>>>
এখানে ‘Desh' নামে একটি স্ট্রিং ইনপুট নিয়ে তার পূর্বে ৱিপিটিশন অপারেটর '*' ব্যবহার করে উল্লেখিত স্ট্রিংকে ৩ বার পুনরাবৃত্তি ঘটিয়ে আউটপুট হিসেবে 'Desh Desh Desh ' পাওয়া গেল। 

পরবর্তী কমান্ডে একইভাবে স্ট্রিং '5' কে ৪ বার পুনরাবৃত্তি ঘটিয়ে আউটপুট হিসেবে '5555' পাওয়া গেল।

উল্লেখ্য যে, একাধিক স্ট্রিংকে এক সাথে Repitition operator-এর মাধ্যমে একাধিক কপি তৈরি করা যায় না কিংবা ফ্লোটিং পয়েন্ট টাইপ ডাটার সঙ্গে ও স্ট্রিং টাইপের ডাটাকে Repitition operator-এর মাধ্যমে পুনরাবৃত্তি করা যায় না।

উদাহরণঃ
>>>  '17' * '87'
TypeError: can't multiply sequence by non-int of type 'str'
>>> 'python' * 7.0
TypeError: can't multiply sequence by non-int of type 'float'

উপরােক্ত উদাহরণে প্রথম কমান্ডে দুইটি স্ট্রিং-এর মধ্যে Repitition operator ব্যবহার করা হয়েছে। 

আবার পরবর্তী কমান্ডে একটি স্ট্রিং ('python') ও একটি ফ্লোটিং পয়েন্ট ডাটার মাঝখানে Repitition operator ব্যবহার করার চেষ্টা করা হয়েছে। উভয় ক্ষেত্রেই প্রােগ্রামে এরর দেখাচ্ছে।

মেম্বারশিপ অপারেটর (Membership operator) :

সিকুয়েনশিয়াল ডাটা টাইপের ক্ষেত্রে Membership (সদস্য) পরীক্ষা করার জন্য অর্থাৎ কেউ কোনাে নির্দিষ্ট গ্রুপের সদস্য কি না নির্ণয়ের জন্য মেম্বারশিপ অপারেটর ব্যবহার করা হয়। মেম্বারশিপ অপারেটর হিসেবে in এবং not in দুটি অপারেটর ব্যবহার করা হয়। 

in অপারেটর ঃ 

যদি কোনাে একটি ক্যারেক্টার কোনাে নির্দিষ্ট স্ট্রিং-এর অন্তর্ভুক্ত হয় তবে রিটার্ন আসবে "True" আর যদি অন্তর্ভুক্ত না হয় তবে রিটার্ন আসবে "False"।

উদাহরণ :
>>>
>>> 'm' in 'mahi'
True
>>> ‘d' in 'mahi'
False
>>> 'h' in 'mahi'
True
>>> 'p' in 'mahi'
Flase
>>>

উপরােক্ত উদাহরণে “m in mahi" এ "m " অক্ষরটি "mahi" স্ট্রিং ভ্যালুর মধ্যে আছে তাই "m" অক্ষরটি "mahi" স্ট্রিং ভ্যালুর মধ্যে আছে বলেই রিটার্ন ভ্যালু হলাে "True", অপরদিকে "d in mahi" এ "d " অক্ষরটি "mahi" স্ট্রিং ভ্যালুর মধ্যে নেই তাই "d" অক্ষরটি "mahi" স্ট্রিং ভ্যালুর মধ্যে নেই বলেই রিটার্ন ভ্যালু হল "False"।

not in অপারেটর : in অপারেটরের ঠিক বিপরীত হলাে not in অপারেটর। অর্থাৎ যদি কোনাে একটি ক্যারেক্টার কোনাে নির্দিষ্ট স্ট্রিং-এর অন্তর্ভুক্ত না হয় তবে রিটার্ন আসবে "True" আর যদি অন্তর্ভুক্ত হয় তবে রিটার্ন আসবে "False"।