স্ট্রিং ফরম্যাটিং
আচ্ছা, মনে করি আমরা একটা ভ্যারিয়েবলের মধ্যে একটা Sentence রাখব। এবং আরো দুইটা ভ্যারিয়েবল এ আরো দুইটা Sentence রাখব। সবশেষে তিনটা ভ্যারিয়েবলকে প্রিন্ট করব। দেখা যাক একটা উদাহরনঃ-
>>> a = 'language'
>>> b = 'Bangla'
>>> print("My Mother",a,"is",b)
My Mother language is Bangla
এই একই কাজ আরো দুই ভাবে করা যায়।
% পদ্ধতিঃ-
>> a = 'Bangla'
>>> print("My Mother language is %s" %a)
My Mother language is Bangla
এটা বেশ মজার ছিল তাই না??
আমরা দশমিক সংখ্যার পরে কয়ঘর প্রিন্ট করব সেটা খুব সহজেই করা যায় এই % পদ্ধতিতে। যেমনঃ-
>>> a = 3.141659
>>> print('%.3f' %a)
3.142
>>> print('%.5f' %a)
3.14166
কী হল?? খুব সহজ। প্রথমে % দিয়ে . ( দশমিক ) দিয়ে কয় ঘর অবধি প্রিন্ট হবে সেটা দিতে হবে।
যেমনঃ- দিয়েছি 3 তারপর f এবং আগের মত বাকিটা। তাহলেই দশমিকের পড়ে ৩ ঘর অবধি প্রিন্ট হবে।
একটা কথা বলি আগে যে % পদ্ধতি দিয়ে স্ট্রিং ফরম্যাট করলাম এটা আমার মোটেই ভালো লাগে না।
তবে, একটা খুব সহজ এবং মজাদার একটা পদ্ধতি আলোচনা করি, সেটা হচ্ছে।
f {} পদ্ধতিঃ-
এটা খুব সহজ কাজ।
>>> a = "mother"
>>> b = "language"
>>> c = "Bangla"
>>> print(f"{c} is my {a} {b}!!")
Bangla is my mother language!!
এখানে “” দেবার আগে শুধু f দিতে হবে এবং যখন সাথে ভ্যারিয়েবল দিতে হবে তখন {} দিয়ে তার মধ্যে ভ্যারিয়েবল নাম লিখে দিতে হবে।
স্ট্রিং join() :-
>>> a = "pen" >>> b = "book" >>> c = "khata" >>> print(a+"~~~"+b+"~~~"+c) pen~~~book~~~khata
উপরের এই কাজটাকে এত্ত ঝামেলার না করে খুব সহজেই করা যায়।
>>> a = "pen"
>>> b = "book"
>>> c = "khata"
>>> print("~~~".join((a,b,c)))
pen~~~book~~~khata
খুব সহজ কাজ। না বুঝলে জানাতে পারেন।
সকল common operartion:-
upper() :- সমস্ত টেক্সটকে বড় হাতের লেখায় পরিবর্তন করে।
>>> a = 'Shovon' >>> a.upper() 'SHOVON'
lower() :- সমস্ত টেক্সটকে ছোট হাতের লেখায় পরিবর্তন করে।
>>> a = 'ShOVon' >>> a.upper() 'shovon'
capitalize() :- সমস্ত টেক্সট এর প্রথম লেটার কে বড় হাতের হিসেবে পরিবর্তন করে।
>>> a = 'shovon' >>> a.upper() 'Shovon'
title() :- সমস্ত টেক্সট এর সব ওয়ার্ড গুলোর প্রথম লেটারকে বড় হাতের করে।
>>> a = 'hello, this is shovon' >>> a.title() 'Hello, This Is Shovon'
swapcase() :- সমস্ত টেক্সট এর বড় হাতের লেটার কে ছোট হাতের এবং ছোট হাতের লেটার কে বড় হাতের করে।
>>> a = 'hIGhEr' >>> a.swapcase 'HigHeR'
len() :- একটি স্ট্রিং এর মোট কতগুলো ক্যারেক্টার আছে তা প্রিন্ট করে।
>>> a = "Shovon" >>> len(a) 6
count() :- একটি স্ট্রিং এ কোন ক্যারেক্টার কতবার আছে তা জানতে ব্যবহৃত হয় count()
>>> a = "accelerate"
>>> a.count('e')
3
>>> a.count('c')
2
a ভ্যারিয়েবল এ ‘e’ কতবার আছে তা জানতে variable.count(কে ক্যারেক্টার এর সংখ্যা জানতে চাই) দিলেই হবে।
index() :- একটি স্ট্রিং এ কোন ক্যারেক্টার এর অবস্থান জানতে index() ব্যবহৃত হয়।
>>> a = "accelerate"
>>> a.index('c')
1
এখানে যদি এমন ক্যারেক্টার দেয়া হয় যা স্ট্রিং এ নেই তাহলে ইরর প্রিন্ট হয়। দিয়ে চেক করে দেখেন।
তবে তার জন্য ও একটা স্মার্ট সল্যুশন আছে।
find() :-
>>> a = "accelerate"
>>> a.find('r')
6
>>> a.find('z')
-1
এখানে স্ট্রিং এর ভেতর ‘z’ নেই তবুও ইরর না এসে -1 প্রিন্ট হয়েছে। তবে, find কিন্তু আরো অনেক স্মার্ট পরে আলোচনা করা হবে।
একটা ব্যাপার আগে উদাহরণ টা দেখে নেই।
>>> a = "accelerate"
>>> a.find('e')
3এখানে ‘e’ 3 ইনডেক্স এ আছে তা ঠিক আছে কিন্তু আবার 5 এবং 9 ইন্ডেক্সেও তো আছে। তা হলে??
হ্যা, তার সল্যুশন হচ্ছে।
>>> a = "accelerate"
>>> a.find('e',4)
5
এখানে 4 ইন্ডেক্স এর পরে খুজে দেখেছে এবং 5 ইনডেক্স প্রিন্ট করেছে।
replace() :-
>>> a = "Hejjo"
>>> a.replace("j", "l")
'Hello'
প্রথম a (ভ্যারিয়েবল) তারপর .replace(যেটাকে রিপ্লেছ করতে হবে সেই ক্যারেক্টার, যেটা দ্বারা রিপ্লেছ করতে হবে)
strip() :- স্ট্রিং এর কোন ক্যারেক্টার কে ডিলিট করতে লাগে।
>>> a = 'Book' >>> a.strip('B') 'ook'
split() :- স্ট্রিং এর সব ক্যারেক্টার গুলোকে আলাদা আলাদা করে লিস্ট এর ভেতর প্রিন্ট করে।
>>> a = "Hello Everyone, I am Echo"
>>> a.split(' ')
['Hello', 'Everyone,', 'I', 'am', 'Echo']
কোন প্রশ্ন বা গালি দেয়ার জন্য কমেন্ট বক্স উন্মক্ত। আর প্রাইভেটলি গালি দিতে চাইলে জানান ফেসবুকে। আর, যদি কমেন্ট এর রিপ্লে পেতে দেরি হয় তাহলে ফেসবুকে মেসেজ দিন । ধন্যবাদ!! আল্লাহ হাফেজ।
আরো ভালো আর্টিকেল পেতে চলে যান এই লিংক এ www.thebanglatech.xyz

