Python में स्ट्रिंग्स के साथ काम करना: पूरी गाइड
Python भाषा में स्ट्रिंग्स की मूल बातें
Python में स्ट्रिंग्स टेक्स्ट जानकारी के साथ काम करने के लिए एक मूलभूत डेटा प्रकार हैं। स्ट्रिंग्स के साथ काम करने के सिद्धांतों को समझना प्रभावी प्रोग्रामिंग के लिए बहुत ज़रूरी है।
str प्रकार की वस्तुओं के रूप में स्ट्रिंग्स
Python में स्ट्रिंग्स बिल्ट-इन str प्रकार की वस्तुएं हैं। वे Unicode वर्णों के अनुक्रम को दर्शाती हैं। प्रत्येक स्ट्रिंग टेक्स्ट प्रोसेसिंग के लिए कई बिल्ट-इन मेथड्स को सपोर्ट करती है। स्ट्रिंग्स इंडेक्स के माध्यम से अलग-अलग वर्णों तक पहुंच प्रदान करती हैं। वे तुलना और सॉर्टिंग ऑपरेशन भी करने की अनुमति देती हैं।
text = "Python"
print(type(text)) # <class 'str'>
print(len(text)) # 6
स्ट्रिंग्स की अपरिवर्तनीयता का सिद्धांत
Python में स्ट्रिंग्स अपरिवर्तनीय (immutable) वस्तुएं हैं। इसका मतलब है कि कोई भी रूपांतरण ऑपरेशन एक नई स्ट्रिंग बनाता है। मूल स्ट्रिंग अपरिवर्तित रहती है। यह सिद्धांत डेटा सुरक्षा और कोड की पूर्वानुमेयता सुनिश्चित करता है।
original = "hello"
modified = original.upper()
print(original) # 'hello' - नहीं बदली
print(modified) # 'HELLO' - नई स्ट्रिंग
स्ट्रिंग्स बनाने के तरीके
Python स्ट्रिंग्स बनाने के कई तरीके प्रदान करता है:
- सरल स्ट्रिंग्स के लिए एकल उद्धरण
- एपॉस्ट्रॉफी वाली स्ट्रिंग्स के लिए दोहरे उद्धरण
- बहु-पंक्ति टेक्स्ट के लिए तिहरे उद्धरण
- विशेष वर्णों को एस्केप करने के लिए Raw-स्ट्रिंग्स
single = 'सरल स्ट्रिंग'
double = "एपॉस्ट्रॉफी 'वाली' स्ट्रिंग"
multiline = """पहली पंक्ति
दूसरी पंक्ति
तीसरी पंक्ति"""
raw = r"फ़ाइल\का\पथ"
इंडेक्सिंग और स्लाइस के साथ काम करना
स्ट्रिंग के वर्णों तक पहुंच
स्ट्रिंग में प्रत्येक वर्ण का अपना एक इंडेक्स होता है। इंडेक्सिंग शून्य से शुरू होती है। Python सकारात्मक और नकारात्मक दोनों प्रकार की इंडेक्सिंग को सपोर्ट करता है।
text = "Python"
print(text[0]) # 'P' - पहला वर्ण
print(text[5]) # 'n' - अंतिम वर्ण
print(text[-1]) # 'n' - नकारात्मक इंडेक्स से अंतिम
print(text[-6]) # 'P' - नकारात्मक इंडेक्स से पहला
स्ट्रिंग के स्लाइस बनाना
स्लाइस मूल स्ट्रिंग से उप-स्ट्रिंग्स निकालने की अनुमति देते हैं। स्लाइस का सिंटैक्स: स्ट्रिंग[शुरू:अंत:चरण]। शुरुआती इंडेक्स शामिल होता है, अंतिम इंडेक्स शामिल नहीं होता।
text = "Python Programming"
print(text[1:4]) # 'yth'
print(text[:6]) # 'Python'
print(text[7:]) # 'Programming'
print(text[::2]) # 'Pto rgamn' - हर दूसरा वर्ण
print(text[::-1]) # 'gnimmargorP nohtyP' - स्ट्रिंग उलटना
नकारात्मक इंडेक्सिंग का व्यावहारिक उपयोग
नकारात्मक इंडेक्सिंग स्ट्रिंग के अंत के साथ काम करना आसान बनाती है। यह विशेष रूप से फ़ाइलों और परिवर्तनीय लंबाई के डेटा को प्रोसेस करते समय उपयोगी है।
filename = "document.pdf"
extension = filename[-4:] # '.pdf'
name_part = filename[:-4] # 'document'
स्ट्रिंग्स में खोज के तरीके
उप-स्ट्रिंग खोजने के बुनियादी तरीके
find() मेथड उप-स्ट्रिंग की पहली उपस्थिति का इंडेक्स लौटाता है। यदि उप-स्ट्रिंग नहीं मिलती है, तो -1 लौटाया जाता है। rfind() मेथड स्ट्रिंग के अंत से खोजता है।
text = "banana programming"
print(text.find("ana")) # 1
print(text.find("python")) # -1 (नहीं मिला)
print(text.rfind("ana")) # 3
print(text.find("a", 2)) # 3 (पोजीशन 2 से खोज)
अपवादों के साथ सख्त खोज तरीके
index() और rindex() मेथड find() के समान काम करते हैं। हालांकि, यदि उप-स्ट्रिंग नहीं मिलती है तो वे ValueError अपवाद उत्पन्न करते हैं।
text = "banana"
print(text.index("n")) # 2
# print(text.index("z")) # ValueError: substring not found