Python-এ String এবং এর ফাংশন
Strings হল পাইথনের সবচেয়ে গুরুত্বপূর্ণ ডেটা টাইপগুলির মধ্যে একটি। এটি অক্ষরের একটি ক্রম (sequence of characters) এবং পাইথনে কোটেশন চিহ্নের মধ্যে লেখা হয়। Strings অপরিবর্তনীয় (immutable), যার মানে একবার তৈরি হওয়ার পর তাদের পরিবর্তন করা যায় না।
String কি এবং কেন গুরুত্বপূর্ণ
String এর সংজ্ঞা
String হল অক্ষরের একটি ক্রম যা একক বা দ্বিগুণ উদ্ধৃতি চিহ্নের মধ্যে সংরক্ষিত থাকে। এটি পাইথনে সবচেয়ে ব্যবহৃত ডেটা টাইপগুলির মধ্যে একটি।
ব্যবহারের ক্ষেত্র
Text processing, data validation, file handling, web development - প্রায় প্রতিটি প্রোগ্রামিং প্রকল্পে strings ব্যবহার করা হয়।
Strings পাইথনে অত্যন্ত শক্তিশালী এবং বহুমুখী। এটি পাইথনের সবচেয়ে ব্যবহৃত ডেটা টাইপগুলির মধ্যে একটি কারণ এটি পাঠ্য প্রক্রিয়াকরণ, ডেটা বৈধতা যাচাই, ফাইল হ্যান্ডলিং এবং ওয়েব ডেভেলপমেন্টে ব্যাপকভাবে ব্যবহৃত হয়। প্রতিটি প্রোগ্রামিং প্রকল্পে কমপক্ষে কিছু ধরনের স্ট্রিং ম্যানিপুলেশন থাকে।
String Operations - মৌলিক ক্রিয়াকলাপ
পাইথনে strings এর সাথে বিভিন্ন ধরনের ক্রিয়াকলাপ করা যায়। এগুলি প্রোগ্রামিংয়ের জন্য অপরিহার্য এবং প্রতিদিনের কাজে ব্যবহৃত হয়।
Concatenation
দুটি বা তার বেশি strings যুক্ত করা হয় '+' অপারেটর ব্যবহার করে
Repetition
String কে পুনরাবৃত্তি করা হয় '*' অপারেটর দিয়ে
Membership
একটি অক্ষর বা স্ট্রিং অন্য স্ট্রিং-এ আছে কিনা তা খুঁজে বার করা হয় 'in' বা 'not in' দিয়ে
Slicing
স্ট্রিং থেকে অংশ বের করা হয় ইনডেক্স ব্যবহার করে
Concatenation এবং Repetition এর উদাহরণ
Concatenation উদাহরণ
# দুটি স্ট্রিং যুক্ত করা first_name = "John" last_name = "Doe" full_name = first_name + " " + last_name print(full_name) # Output: John Doe # সংখ্যা এবং স্ট্রিং যুক্ত করা text = "The number is " + str(42) print(text) # Output: The number is 42
Repetition উদাহরণ
# স্ট্রিং পুনরাবৃত্তি message = "Hello! " repeated = message * 3 print(repeated) # Output: Hello! Hello! Hello! # প্যাটার্ন তৈরি pattern = "=" * 20 print(pattern) # Output: ====================
Concatenation এবং Repetition হল পাইথনে strings ম্যানিপুলেট করার সবচেয়ে মৌলিক এবং প্রায়শই ব্যবহৃত পদ্ধতি। Concatenation এর জন্য '+' অপারেটর এবং Repetition এর জন্য '*' অপারেটর ব্যবহার করা হয়। মনে রাখবেন, পাইথনে আপনি সরাসরি স্ট্রিং এবং সংখ্যা যুক্ত করতে পারবেন না - সংখ্যাকে প্রথমে স্ট্রিং-এ রূপান্তর করতে হবে str() ফাংশন ব্যবহার করে।
Membership এবং Slicing এর বিস্তারিত
স্ট্রিং indexing বোঝার জন্য নিচের উদাহরণটি দেখুন:
# String: P y t h o n # Index: 0 1 2 3 4 5 # Reverse: -6 -5 -4 -3 -2 -1
1
Membership Operation
'in' এবং 'not in' অপারেটর ব্যবহার করে আমরা চেক করতে পারি যে একটি স্ট্রিং বা অক্ষর অন্য কোন স্ট্রিং-এ উপস্থিত আছে কিনা। এটি বুলিয়ান মান রিটার্ন করে।
text = "Hello World" print("Hello" in text) # True print("Python" in text) # False print("!" not in text) # True
2
Slicing Operation
Slicing এর মাধ্যমে আমরা স্ট্রিং থেকে একটি নির্দিষ্ট অংশ বের করতে পারি। এটি ইনডেক্স ব্যবহার করে করা হয়। সিনট্যাক্স: string[start:end:step]
text = "Hello World" print(text[0:5]) # Hello print(text[6:]) # World print(text[::-1]) # dlroW olleH print(text[::2]) # HloWrd
String এর মধ্য দিয়ে লুপ দিয়ে চলা
পাইথনে আমরা বিভিন্ন ধরনের লুপ ব্যবহার করে strings এর প্রতিটি অক্ষরের উপর অপারেশন করতে পারি। এটি টেক্সট প্রসেসিং এবং ডেটা বিশ্লেষণের জন্য অপরিহার্য।
For Loop ব্যবহার
For loop হল স্ট্রিং এর মধ্য দিয়ে চলার সবচেয়ে সহজ এবং সাধারণ পদ্ধতি। এটি প্রতিটি অক্ষরের উপর অপারেশন করতে দেয়।
text = "Python" for char in text: print(char) # Output: P, y, t, h, o, n
While Loop ব্যবহার
While loop ইনডেক্স ব্যবহার করে স্ট্রিং এর মধ্য দিয়ে চলে। এটি আরও নিয়ন্ত্রণ দেয় কিন্তু ইনডেক্স ম্যানেজ করতে হয়।
text = "Python" i = 0 while i < len(text): print(text[i]) i += 1
Index ব্যবহার করে
text = "Hello" for i in range(len(text)): print(f"Index {i}: {text[i]}")

Enumerate ব্যবহার
text = "Hello" for i, char in enumerate(text): print(f"Index {i}: {char}")

বিল্ট-ইন ফাংশন: len() এবং ক্যাপিটালাইজেশন
len()
স্ট্রিং-এর দৈর্ঘ্য বা অক্ষরের সংখ্যা রিটার্ন করে
text = "Hello World" print(len(text)) # 11
capitalize()
স্ট্রিং-এর প্রথম অক্ষর বড় হাতের করে এবং বাকিগুলি ছোট হাতের করে
text = "hello world" print(text.capitalize()) # Hello world
title()
প্রতিটি শব্দের প্রথম অক্ষর বড় হাতের করে
text = "hello world python" print(text.title()) # Hello World Python
endswith()
স্ট্রিং নির্দিষ্ট সাফিক্স দিয়ে শেষ হয় কিনা চেক করে
text = "hello.txt" print(text.endswith(".txt")) # True
startswith()
স্ট্রিং নির্দিষ্ট প্রিফিক্স দিয়ে শুরু হয় কিনা চেক করে
text = "hello world" print(text.startswith("hello")) # True

এই ফাংশনগুলি টেক্সট প্রসেসিংয়ের জন্য মৌলিক। len() ফাংশন স্ট্রিং-এর দৈর্ঘ্য মাপতে ব্যবহৃত হয় এবং লুপ এবং কন্ডিশনাল স্টেটমেন্টে গুরুত্বপূর্ণ ভূমিকা পালন করে। capitalize() এবং title() ফাংশন টেক্সট ফরম্যাটিংয়ে ব্যবহৃত হয় - capitalize() পুরো স্ট্রিং-এর প্রথম অক্ষর বড় করে এবং বাকিগুলি ছোট করে, আর title() প্রতিটি শব্দের প্রথম অক্ষর বড় করে।
Case Conversion ফাংশন
Case conversion ফাংশনগুলি স্ট্রিং-এর অক্ষরগুলিকে বড় বা ছোট হাতের করতে ব্যবহৃত হয়। এগুলি টেক্সট প্রসেসিং এবং ডেটা স্ট্যান্ডার্ডাইজেশনের জন্য গুরুত্বপূর্ণ।
lower()
সব অক্ষর ছোট হাতের করে
text = "Hello World" print(text.lower()) # hello world
upper()
সব অক্ষর বড় হাতের করে
text = "Hello World" print(text.upper()) # HELLO WORLD
lower() ফাংশন
lower() ফাংশন স্ট্রিং-এর সমস্ত অক্ষরকে ছোট হাতের অক্ষরে রূপান্তর করে। এটি কেস-সেনসিটিভ অপারেশনে দরকারী, যেমন ইউজার ইনপুট প্রসেসিং বা স্ট্রিং তুলনা করার সময়।
upper() ফাংশন
upper() ফাংশন স্ট্রিং-এর সমস্ত অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করে। এটি হেডিং, টাইটেল বা যেকোনো টেক্সট হাইলাইট করার জন্য ব্যবহৃত হয়।
Searching এবং Counting ফাংশন
এই ফাংশনগুলি স্ট্রিং-এ নির্দিষ্ট অক্ষর বা স্ট্রিং খুঁজে বার করতে এবং তাদের সংখ্যা গণনা করতে ব্যবহৃত হয়। এগুলি টেক্সট অ্যানালাইসিস এবং ডেটা প্রসেসিংয়ের জন্য অপরিহার্য।
1
count()
নির্দিষ্ট সাবস্ট্রিং কতবার আছে তা গণনা করে
text = "hello world hello" print(text.count("hello")) # 2
2
find()
সাবস্ট্রিং-এর প্রথম অবস্থান খুঁজে বার করে, না পেলে -1 রিটার্ন করে
text = "hello world" print(text.find("world")) # 6
3
index()
find() এর মতো কিন্তু সাবস্ট্রিং না পেলে এক্সেপশন তৈরি করে
text = "hello world" print(text.index("world")) # 6
count() ফাংশন একটি স্ট্রিং-এ নির্দিষ্ট সাবস্ট্রিং বা অক্ষর কতবার উপস্থিত তা গণনা করে। এটি টেক্সট অ্যানালাইসিসে ব্যবহৃত হয়। find() এবং index() উভয়ই সাবস্ট্রিং-এর ইনডেক্স খুঁজে বার করে, কিন্তু পার্থক্য হল যে find() সাবস্ট্রিং না পেলে -1 রিটার্ন করে আর index() এক্সেপশন তৈরি করে। এই ফাংশনগুলি টেক্সট প্রসেসিং, ডেটা মাইনিং এবং সার্চ অ্যালগরিদমে গুরুত্বপূর্ণ ভূমিকা পালন করে।
String Validation এবং Manipulation ফাংশন
এই ফাংশনগুলি স্ট্রিং বৈধতা যাচাই করতে এবং বিভিন্ন ধরনের ম্যানিপুলেশন করতে ব্যবহৃত হয়। এগুলি ইউজার ইনপুট ভ্যালিডেশন এবং ডেটা প্রসেসিংয়ের জন্য গুরুত্বপূর্ণ।
isalnum()
স্ট্রিং শুধু অক্ষর এবং সংখ্যা দিয়ে তৈরি কিনা চেক করে
text = "Hello123" print(text.isalnum()) # True
isalpha()
স্ট্রিং শুধু অক্ষর দিয়ে তৈরি কিনা চেক করে
text = "Hello" print(text.isalpha()) # True
isdigit()
স্ট্রিং শুধু সংখ্যা দিয়ে তৈরি কিনা চেক করে
text = "12345" print(text.isdigit()) # True
islower()
সব অক্ষর ছোট হাতের কিনা চেক করে
text = "hello" print(text.islower()) # True
isupper()
সব অক্ষর বড় হাতের কিনা চেক করে
text = "HELLO" print(text.isupper()) # True
isspace()
স্ট্রিং শুধু স্পেস দিয়ে তৈরি কিনা চেক করে
text = " " print(text.isspace()) # True
lstrip()
বাম দিকের স্পেস বা নির্দিষ্ট অক্ষর সরায়
text = " hello" print(text.lstrip()) # 'hello'
rstrip()
ডান দিকের স্পেস বা নির্দিষ্ট অক্ষর সরায়
text = "hello " print(text.rstrip()) # 'hello'
strip()
উভয় দিকের স্পেস সরায়
text = " hello " print(text.strip()) # 'hello'
replace()
নির্দিষ্ট সাবস্ট্রিং কে অন্য স্ট্রিং দিয়ে প্রতিস্থাপন করে
text = "Hello World" new_text = text.replace("World", "Python") print(new_text) # Hello Python
join()
লিস্টের স্ট্রিং-গুলিকে একটি স্ট্রিং-এ যুক্ত করে
words = ["Hello", "World", "Python"] result = " ".join(words) print(result) # Hello World Python
01
partition()
স্ট্রিং-কে তিন অংশে ভাগ করে: আগে, ডেলিমিটার, এবং পরে
text = "Hello-World-Python" result = text.partition("-") print(result) # ('Hello', '-', 'World-Python')
02
split()
স্ট্রিং-কে ডেলিমিটার দিয়ে আলাদা করে লিস্টে রূপান্তর করে
text = "Hello World Python" words = text.split(" ") print(words) # ['Hello', 'World', 'Python']
String validation ফাংশনগুলি ইউজার ইনপুট ভ্যালিডেশনে গুরুত্বপূর্ণ। isalnum(), isalpha(), isdigit() ইত্যাদি ফাংশন চেক করে যে স্ট্রিং নির্দিষ্ট ক্রাইটেরিয়া মেনে চলছে কিনা। স্পেস ম্যানিপুলেশন ফাংশন lstrip(), rstrip(), strip() স্ট্রিং-এর শুরু, শেষ বা উভয় দিকের স্পেস সরাতে ব্যবহৃত হয়। replace() ফাংশন স্ট্রিং-এর অংশ প্রতিস্থাপন করে, join() লিস্টকে স্ট্রিং-এ রূপান্তর করে, partition() স্ট্রিং-কে তিন অংশে ভাগ করে, এবং split() স্ট্রিং-কে লিস্টে ভাগ করে। এই ফাংশনগুলি ডেটা প্রসেসিং, টেক্সট ম্যানিপুলেশন এবং ইউজার ইনপুট হ্যান্ডলিংয়ের জন্য অপরিহার্য।
Made with