Python Tutorial 20: String Concatenation & Repetition in Bengali

পাইথনের অপারেটরদের ভিন্ন রূপ: স্ট্রিং যোগ এবং সংখ্যার গুণ

পাইথনের অপারেটরদের ভিন্ন রূপ: স্ট্রিং যোগ এবং সংখ্যার গুণ

আমরা জানি, পাইথনের অ্যারিথমেটিক অপারেটরগুলো (+, -, *, /) সংখ্যা নিয়ে কাজ করে। কিন্তু আপনি কি জানেন, এই অপারেটরগুলোর কিছু বিশেষ ক্ষমতা রয়েছে যা সংখ্যা ছাড়াও অন্যান্য ডেটা টাইপের উপরও কাজ করে? আজকের এই পোস্টে আমরা অ্যারিথমেটিক অপারেটরদের এই জাদুকরী এবং ভিন্নধর্মী ব্যবহার সম্পর্কে জানব।

১. স্ট্রিং কনক্যাটেনেশন: + অপারেটরের নতুন পরিচয়

সংখ্যা নিয়ে কাজ করার সময়, + অপারেটরটি যোগের কাজ করে। কিন্তু যখন এটি দুটি স্ট্রিং বা টেক্সটের মধ্যে বসে, তখন এটি দুটি স্ট্রিংকে পাশাপাশি জোড়া লাগিয়ে একটি নতুন স্ট্রিং তৈরি করে। এই প্রক্রিয়াটিকেই বলা হয় স্ট্রিং কনক্যাটেনেশন (String Concatenation)

first_word = "Python "
second_word = "Rocks!"

# দুটি স্ট্রিংকে + দিয়ে জোড়া লাগানো
full_sentence = first_word + second_word

print(full_sentence) # আউটপুট: Python Rocks!

সঠিক উপায়: যদি কোনো সংখ্যাকে স্ট্রিং-এর সাথে জোড়া লাগাতে হয়, তবে প্রথমে str() ফাংশন ব্যবহার করে সংখ্যাটিকে স্ট্রিং-এ রূপান্তর করে নিতে হবে।

user_age = 30
message = "My age is " + str(user_age)

print(message) # আউটপুট: My age is 30

২. স্ট্রিং রিপিটিশন: * অপারেটরের গুণ

যখন আপনি একটি স্ট্রিং-কে একটি পূর্ণসংখ্যা (integer) দিয়ে গুণ করেন, তখন পাইথন সেই স্ট্রিংটিকে ততবার পুনরাবৃত্তি (repeat) করে একটি নতুন স্ট্রিং তৈরি করে।

my_text = "Boom! "

# স্ট্রিংটিকে ৩ বার পুনরাবৃত্তি করা
repeated_text = my_text * 3

print(repeated_text) # আউটপুট: Boom! Boom! Boom! 

গুরুত্বপূর্ণ নিয়ম: স্ট্রিং রিপিট করার জন্য গুণকটি অবশ্যই একটি পূর্ণসংখ্যা (integer) হতে হবে।

৩. অন্যান্য ডেটা টাইপের উপর অ্যারিথমেটিক অপারেটর

  • Float: int-এর মতোই সব অ্যারিথমেটিক অপারেটর float-এর উপর কাজ করে। // (Floor Division) এবং % (Modulus) অপারেটর দুটিও float-এর উপর কাজ করতে পারে এবং ফলাফল হিসেবে একটি float সংখ্যা দেয়।
  • Boolean: bool মানের উপরও সব অ্যারিথমেটিক অপারেটর কাজ করে, কারণ পাইথন True-কে 1 এবং False-কে 0 হিসেবে গণ্য করে। তবে ফলাফলটি সবসময় একটি int বা float হয়।
  • Complex: complex সংখ্যার উপর যোগ, বিয়োগ, গুণ, ভাগ এবং ঘাত (**) অপারেটর কাজ করে। কিন্তু // (Floor Division) এবং % (Modulus) কাজ করে না।

৪. এক্সপ্রেশনের চূড়ান্ত ডেটা টাইপ (Resultant Data Type)

যখন একটি এক্সপ্রেশনে বিভিন্ন ধরণের ডেটা টাইপ (যেমন: int, float, complex) একসাথে থাকে, তখন ফলাফলটি সবসময় এক্সপ্রেশনে উপস্থিত "সবচেয়ে বড়" বা "সবচেয়ে জটিল" ডেটা টাইপের হবে।

ডেটা টাইপের ক্রমটি হলো: bool < int < float < complex

# একটি মিশ্র এক্সপ্রেশন
final_result = True + 10 + 20.5 + (5+4j)

print(final_result)
print(type(final_result))

আউটপুট:

(36.5+4j)
<class 'complex'>

উপসংহার

আজ আমরা দেখলাম যে পাইথনের অ্যারিথমেটিক অপারেটরগুলো শুধু সংখ্যার জগতেই সীমাবদ্ধ নয়। স্ট্রিং-এর ক্ষেত্রে + এবং * অপারেটরের বিশেষ ব্যবহার আমাদের কোড লেখার নতুন দুয়ার খুলে দেয়। এর পাশাপাশি, বিভিন্ন ডেটা টাইপের মিশ্রণে একটি এক্সপ্রেশনের ফলাফল কোন টাইপের হবে, সেই নিয়মটি জানা আমাদের আরও নির্ভুল এবং কার্যকর কোড লিখতে সাহায্য করে।