স্ট্রিং মেথড, পর্ব ৮

লিখেছেন: কাজী মুশফিকুর রহমান || সফটওয়্যার প্রকৌশলী, টেকনিয়াস (সফটওয়্যার নির্মাণ প্রতিষ্ঠান) || তারিখঃ 03 মে, 2024


format()মেথড এর ব্যবহার

format() মেথডটি পাইথন স্ট্রিং ক্লাসের একটি বিল্ট-ইন ফাংশন, এটি একটি নির্দিষ্ট ভ্যালু ফরমেট করে (একটি নির্দিষ্ট স্ট্রাকচার অনুযায়ী গঠন করে) এবং স্ট্রিং প্লেসহোল্ডার এর মধ্যে এটিকে ইনসার্ট করে (রেখে দেয়)। স্ট্রিংয়ের একটি নির্দিষ্ট স্থানে ফরমেটেড ভ্যালু বসানোর জন্য '{ }' ব্যবহার করে যে স্ট্রাকচারটি ইউজ করা হয় তাকে স্ট্রিং প্লেসহোল্ডার বলে। নেম ইনডেক্স, নাম্বার ইনডেক্স অথবা শুধু ‘{ }’ (এম্পটি প্লেসহোল্ডার)  এর মাধ্যমে স্ট্রিং প্লেসহোল্ডার ডিফাইন করা যায়। যে ভ্যালুটি ফরমেট করা হয় তা মেথডটির মধ্যে প্যারামিটার হিসেবে ব্যবহার করা হয়। এ পদ্ধতিতে যে স্ট্রিংটি ফরমেট করা হয় তাকে ফরমেটেড স্ট্রিং বলে। মেথডটি আউটপুট হিসাবে একটি ফরমেটেড স্ট্রিং রিটার্ন করে। এখন আমরা কোডের মাধ্যমে এর ব্যবহার দেখব।

 

format() মেথড ব্যবহারের সিনটেক্স:

ভ্যারিয়েবলের নাম = string.format(‘যে ভ্যালুটি ফরমেট হবে’)

অথবা

ভ্যারিয়েবলের নাম = string.format(‘একাধিক ভ্যালু’)

ভ্যারিয়েবলের নাম এর পরে ‘=’ চিহ্ন, তারপর string, তারপর ডট চিহ্ন, তারপর format() মেথডের ভেতরে যে ভ্যালুটি ফরমেট হবে সেটি দিতে হবে। এই স্ট্রাকচারটি ফলো করলে আপনি আপনার প্রত্যাশিত ফলাফল পেয়ে যাবেন।

উদাহরণ:

এখানে উল্লেখ্য যে, স্ট্রিংয়ের মধ্যেই প্লেসহোল্ডার: { } বসাতে হয়, তারপর format() মেথডের ভেতরে তার সংশ্লিষ্ট ভ্যালু উল্লেখ করতে হয়। এখন আমরা উদাহরণসহ মেথডটির ব্যবহার দেখব।

 

‘{}’ (এম্পটি প্লেসহোল্ডার) ব্যবহার করে format() মেথডের মধ্যে একটি ভ্যালুকে ফরমেট করা

এখন আমি format() মেথডের মধ্যে  একটি ভ্যালু (প্যারামিটার) দিয়ে সেটাকে ফরমেট করব।

কোড:

name = 'My name is {}'.format('kazi Mushfiqur Rahman')

age = 'I am {} years old'.format(26)

designation = 'I am a {} at Techneous'.format('software engineer')

print('name: ', name)

print('age: ', age)

print('designation: ', designation)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি আমার নাম শো করার জন্য, যেখানে এম্পটি প্লেসহোল্ডার ‘{}’ ব্যবহার করেছি এবং format() মেথডের মধ্যে ভ্যালু 'kazi Mushfiqur Rahman' দিয়েছি, যা স্ট্রিংয়ের প্লেসহোল্ডারের মধ্যে বসে যাবে। তখন স্ট্রিংটি হবে:  'My name is {'kazi Mushfiqur Rahman'}। দ্বিতীয় লাইনে একইভাবে আমি আরেকটি স্ট্রিং ডিফাইন করেছি আমার বয়স শো করার জন্য, যেখানে এম্পটি প্লেসহোল্ডার ‘{}’ ব্যবহার করেছি এবং format() মেথডের মধ্যে ভ্যালু 26 দিয়েছি, যা স্ট্রিংয়ের প্লেসহোল্ডারের মধ্যে বসে যাবে। তখন স্ট্রিংটি হবে:  'I am {26} years old'। তৃতীয় লাইনে একইভাবে আমি আরেকটি স্ট্রিং ডিফাইন করেছি আমার পদবি শো করার জন্য, যেখানে এম্পটি প্লেসহোল্ডার ‘{}’ ব্যবহার করেছি এবং format() মেথডের মধ্যে ভ্যালু 'software engineer' দিয়েছি, যা স্ট্রিংয়ের প্লেসহোল্ডারের মধ্যে বসে যাবে। তখন স্ট্রিংটি হবে:  'I am a {'software engineer'} at Techneous'। চতুর্থ লাইনে আমার নাম, পঞ্চম লাইনে বয়স, এবং ষষ্ঠ লাইনে পদবি প্রিন্ট করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

name:  My name is kazi Mushfiqur Rahman

age:  I am 26 years old

designation:  I am a software engineer at Techneous

 

‘{}’ ব্যবহার করে format() মেথডের মধ্যে একাধিক ভ্যালুকে ফরমেট করা

এখন আমি format() মেথডের মধ্যে  তিনটি ভ্যালু (প্যারামিটার) দিয়ে সেগুলোকে ফরমেট করব, এবং এদের প্রত্যেকের জন্য একটি করে মোট তিনটি প্লেসহোল্ডার ‘{}’ ব্যবহার করব।

কোড:

my_information = 'I am {}, my age is {} years, software engineer at {}'.format('Mushfiq', 26, 'Techneous')

print('my_information: ', my_information)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি আমার নাম, বয়স এবং পদবি শো করার জন্য, যেখানে তিনটি এম্পটি প্লেসহোল্ডার ‘{}’ ব্যবহার করেছি এবং format() মেথডের মধ্যে তিনটি ভ্যালু যথাক্রমে 'Mushfiq', 26, এবং 'Techneous' দিয়েছি, যেগুলো প্লেসহোল্ডার গুলোর মধ্যে বসে যাবে। তখন স্ট্রিংটি হবে:  I am {'Mushfiq'}, my age is {26} years old, software engineer at {'Techneous'}। দ্বিতীয় লাইনে স্ট্রিংটি প্রিন্ট করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

my_information:  I am Mushfiq, my age is 26 years, software engineer at Techneous

 

নাম ইনডেক্স {ভ্যারিয়েবল} ব্যবহার করে প্লেসহোল্ডার ডিফাইন করা

স্ট্রিংয়ের প্লেসহোল্ডার ‘{}’ এর মধ্যে ভ্যারিয়েবল ব্যবহার করে format() মেথডের ভেতরে এর ভ্যালু দেয়া যায়। তখন এ ভ্যালু প্লাসহোল্ডারের ভ্যারিয়েবল এর মধ্যে এসাইন হয়। নিচে আমি name, age এবং designation  ব্যবহার করে তিনটি প্লাসহোল্ডার {name}, {age} এবং {designation}  ডিফাইন করেছি। এরপর format() মেথডের মধ্যে এগুলোর সংশ্লিষ্ট ভ্যালু ('Mushfiq', 26 এবং Techneous) দিলে, এগুলো ভ্যারিয়েবল গুলোর মধ্যে স্টোর হবে।  

কোড:

my_information = 'I am {name}, my age is {age} years, software engineer at {designation}'.format(name='Mushfiq', age= 26, designation='Techneous')

print('my_information: ', my_information)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি, যেখানে তিনটি ভ্যারিয়েবল name, age এবং designation  ব্যবহার করে তিনটি প্লাসহোল্ডার {name}, {age} এবং {designation}  ডিফাইন করেছি এবং  স্ট্রিংটি my_information নামক ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। দ্বিতীয় লাইনে স্ট্রিংটি প্রিন্ট করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

my_information:  I am Mushfiq, my age is 26 years, software engineer at Techneous

 

নাম্বার ইনডেক্স {0} ব্যবহার করে প্লেসহোল্ডার ডিফাইন করা

আমি চাইলে স্ট্রিংয়ের মধ্যে একাধিক প্লেসহোল্ডার ‘{}’ ব্যবহার করতে পারি। এক্ষত্রে এগুলোর গণনা শুরু হবে 0 থেকে, এবং প্রয়োজন অনুসরারে এ সংখ্যা বাড়াতে থাকবে। যেমন: স্ট্রিংয়ের মধ্যে তিনটি প্লেসহোল্ডার ইউজ করতে হলে সেক্ষেত্রে এদের নাম্বার ইনডেক্সিং হবে: {0}, {1}, {2}। যেহেতু এক্ষেত্রে প্লেসহোল্ডার ডিফাইন করতে ইনডেক্স নাম্বার ব্যবহৃত হয়, তাই এক্ষেত্রে এর কাউন্টিং 0 থেকে শুরু হয়ে প্লেসহোল্ডারের সংখ্যা অনুযায়ী বাড়তে থাকে। যেমন: {0}, {1}, {2}, {3}, {4}, {5}……………।

কোড:

my_information = 'I am {0}, my age is {1} years, software engineer at {2}'.format('Mushfiq', 26, 'Techneous')

print('my_information: ', my_information)

 

উপরের কোড এর প্রথম লাইনে আমি একটি স্ট্রিং ডিফাইন করেছি, যেখানে যথাক্রমে তিনটি নাম্বার 0, 1 এবং 2 ব্যবহার করে তিনটি প্লেসহোল্ডার {0}, {1} এবং {2} ডিফাইন করেছি এবং  স্ট্রিংটি কে my_information নামক ভ্যারিয়েবল এর মধ্যে স্টোর করেছি। দ্বিতীয় লাইনে স্ট্রিংটি প্রিন্ট করেছি। এখন কোডটি রান করলে আমরা নিচের আউটপুটটি পাব।

আউটপুট:

my_information:  I am Mushfiq, my age is 26 years, software engineer at Techneous