স্ট্রিং ফরম্যাটিং
আচ্ছা, মনে করি আমরা একটা ভ্যারিয়েবলের মধ্যে একটা 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
ধন্যবাদ!!
ভাই এটা একটু বুঝিয়ে দিন তো
print(“My Mother language is %s ” %a)
%s হল স্ট্রিং ফরম্যাটিং চিহ্ন। এখানে যে a ভ্যারিয়েবল টা বসবে এটাই বোঝাতে চেয়েছি।।
এটা একটু কঠিন মনে হলে। আপনি f মেথড ব্যবহার করতে পারেন। ঐটা সহজ এবং আমি রেকমেন্ড করি।
আরো প্রশ্ন থাকলে করতে পারেন।।