स्ट्रिंग्स पायथन में सबसे लोकप्रिय डेटा प्रकारों में से एक है। एक स्ट्रिंग, उच्च स्तर पर, वर्णों के अनुक्रम से युक्त एक वस्तु है। एक चरित्र एक प्रतीक है - उदाहरण के लिए, अंग्रेजी भाषा में उनके वर्णमाला में 26 वर्ण हैं।
पायथन स्ट्रिंग्स बनाना और हेरफेर करना आसान है। अब आप तुरंत ऐसा करना सीखना शुरू कर सकते हैं। यह लेख पायथन में स्ट्रिंग्स पर एक नज़र डालता है कि वे कैसे काम करते हैं, और उन पर उपयोग किए जाने वाले सामान्य ऑपरेशन।
पायथन में स्ट्रिंग्स क्या हैं?
आप केवल उद्धरणों में वर्णों को संलग्न करके पायथन में एक स्ट्रिंग बना सकते हैं - जो सिंगल (') या डबल (") उद्धरण हो सकता है। एक चर को निर्दिष्ट करके एक स्ट्रिंग को आरंभ और घोषित करें:
doubleQuoteString ="I'm a string" singleQuoteString ='I'm a string' # इनपुट के अंत के विपरीत इसे एक स्ट्रिंग मान के रूप में मानने के लिए सिंगल कोट से बचने की जरूरत है।
याद रखें:यदि आपको एक स्ट्रिंग के अंदर एपॉस्ट्रॉफी का उपयोग करने की आवश्यकता है जो सिंगल कोट्स में एनकैप्सुलेटेड है, तो हमें इसे "\" से बचाना होगा। यह उद्धरण को स्ट्रिंग के अंत के विपरीत स्ट्रिंग के भाग के रूप में मानेगा।
डॉकस्ट्रिंग और मल्टी-लाइन स्ट्रिंग्स
पायथन में डॉकस्ट्रिंग एक अन्य प्रकार की स्ट्रिंग है। वे ट्रिपल कोट्स (""") में संलग्न हैं और उन्हें किसी फ़ंक्शन या क्लास की पहली पंक्ति में एक बहु-पंक्ति टिप्पणी के रूप में माना जाता है।
def printString(str):''' एक स्ट्रिंग लेता है और इसे कंसोल पर प्रिंट करता है ''' प्रिंट (str)
एक डॉकस्ट्रिंग बताता है कि कोड ब्लॉक का उद्देश्य क्या है। यदि आप अपने तर्क में डॉकस्ट्रिंग का उपयोग करना चाहते हैं, तो आप डॉकस्ट्रिंग को एक चर में निर्दिष्ट करके कर सकते हैं। यदि किसी चर को असाइन किया जाता है, तो डॉकस्ट्रिंग एक बहु-पंक्ति स्ट्रिंग बन जाती है।
multiline =''' मैं एक मल्टी-लाइन स्ट्रिंग हूं जिसे एक वेरिएबल को असाइन किया जा सकता है। प्रारूप ठीक उसी तरह से अनुसरण करता है जैसे आप इसे इनपुट करते हैं। '''प्रिंट (मल्टीलाइन)
मल्टी-लाइन स्ट्रिंग ट्रिपल कोट्स के अंदर फ़ॉर्मेटिंग का पालन करेगी। वेरिएबल असाइनमेंट के बिना, स्ट्रिंग को एक टिप्पणी के रूप में माना जाएगा और छोड़ दिया जाएगा।
कच्चे तार
पायथन कच्चे तार नामक एक अवधारणा का उपयोग करता है। यह अवधारणा स्ट्रिंग के अंदर सब कुछ उसी तरह से व्यवहार करती है जिस तरह से आपने इसे लिखा था - बैकस्लैश, विशेष रूप से, एस्केप अनुक्रम के रूप में उपयोग नहीं किया जाता है। यहाँ एक तुलना है:
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
notRaw ="मैं एक कच्ची स्ट्रिंग नहीं हूं, और एस्केप वर्ण मायने नहीं रखता \n\r\t\b\a"rawString =r"मैं एक कच्ची स्ट्रिंग हूं, जहां भागने के वर्ण मायने नहीं रखते \ n\r\t\b\a"print(notRaw) # मैं कच्ची स्ट्रिंग नहीं हूं, और एस्केप वर्ण मायने रखता है। प्रिंट (रॉस्ट्रिंग) # मैं एक कच्चा तार हूँ, जहाँ भागने के वर्ण कोई मायने नहीं रखते \n\r\t\b\a
कच्ची स्ट्रिंग को r अक्षर से पहले एक नियमित स्ट्रिंग द्वारा दर्शाया जाता है:
r”यह एक कच्ची स्ट्रिंग है”
जब आपको बैकस्लैश की आवश्यकता हो तो कच्चे स्ट्रिंग का उपयोग करें ताकि किसी प्रकार के विशेष बच निकले अनुक्रम को इंगित न किया जा सके।
स्ट्रिंग में यूनिकोड वर्ण
यूनिकोड एक चरित्र विनिर्देश है जिसका लक्ष्य किसी भी भाषा द्वारा उपयोग किए जाने वाले प्रत्येक वर्ण को अपना कोड निर्दिष्ट करना है। अधिकांश दस्तावेज़ीकरण में, यूनिकोड मानों का प्रतिनिधित्व निम्न द्वारा किया जाता है:
U+
U+2661 हमारे उपयोग के लिए उपलब्ध एक प्रकार के यूनिकोड वर्ण का एक उदाहरण है। चुनने के लिए हजारों वर्ण हैं जो दुनिया की सभी भाषाओं का प्रतिनिधित्व करते हैं।
पायथन 3 में यूनिकोड लिखना
पायथन 3 में यूनिकोड वर्ण लिखने के लिए, एक नियमित स्ट्रिंग में एक एस्केप अनुक्रम का उपयोग करें जो \u से शुरू होता है और वर्ण को निर्दिष्ट कोड ("+" के बाद आने वाली संख्या) के साथ समाप्त होता है।
unicodeString ='\u2661'print(unicodeString) #
आप एक पंक्ति में जितने चाहें उतने यूनिकोड वर्णों की श्रृंखला बना सकते हैं।
एक नियमित स्ट्रिंग में यूनिकोड का उपयोग करने की यह प्रक्रिया पायथन 2 से अपडेट की गई है। पुराने संस्करणों में, आपके पास एक अलग यूनिकोड स्ट्रिंग होनी चाहिए जो u’\u<unicode number here>’
से शुरू होती है। चूंकि पायथन 2 ने ASCII मानों और यूनिकोड मानों का उपयोग किया है।
स्ट्रिंग्स में मानों को कैसे एक्सेस करें
हम पायथन में एक स्ट्रिंग में मूल्यों तक पहुँचने के लिए वर्ग कोष्ठक का उपयोग करते हैं। स्ट्रिंग्स अन्य प्रोग्रामिंग भाषाओं के समान ही शून्य-आधारित हैं। इसका मतलब है कि स्ट्रिंग में पहला अक्षर ज़ीरोथ इंडेक्स पर शुरू होता है।
hello ="hello world" print(hello[4]) # o
चौथे इंडेक्स को हैलो में प्रिंट करने से कंसोल पर "ओ" प्रिंट हो जाएगा। यदि आप किसी ऐसे इंडेक्स को एक्सेस करने का प्रयास करते हैं जो स्ट्रिंग का हिस्सा नहीं है, तो आपको IndexError: string index out of range
दिखाई देगा। . इस त्रुटि का अर्थ है कि आप एक ऐसे इंडेक्स तक पहुंचने का प्रयास कर रहे हैं जो आपके पास मौजूद इंडेक्स की संख्या से बड़ा या कम है।
नोट: यदि आप सी या जावा जैसी प्रोग्रामिंग भाषा से आ रहे हैं, तो आप अपने स्वयं के डेटा प्रकार वाले पात्रों के अभ्यस्त हैं। पायथन में ऐसा नहीं है - अलग-अलग पात्रों को केवल एक की लंबाई के साथ एक विकल्प के रूप में माना जाता है। |
एक स्ट्रिंग में एक से अधिक वर्णों को एक्सेस करना
एक स्ट्रिंग में एकाधिक वर्णों को एक साथ एक्सेस करने के लिए स्ट्रिंग स्लाइसिंग का उपयोग करें। वाक्य रचना है:
string_name[first_index? :अन्य_इंडेक्स?]
अंतिम सूचकांक गैर-समावेशी है। Hello[1:3]
पिछले उदाहरण में वापस आ जाएगा el
और नहीं ell
.
पायथन में स्लाइसिंग के बारे में दिलचस्प बात यह है कि इंडेक्स वैल्यू को स्लाइस करने की आवश्यकता नहीं है।
यहाँ पायथन में स्ट्रिंग्स को स्लाइस करने के सामान्य तरीके दिए गए हैं:
string_name[:]
वर्गाकार कोष्ठकों के अंदर एक कोलन का उपयोग करने से एक प्रतिलिपि बनाने के लिए पूरी स्ट्रिंग को काट दिया जाएगा।
हैलो ="हैलो वर्ल्ड"कॉपी =हैलो[:] + "⇐ पूरी स्ट्रिंग"प्रिंट (कॉपी) # हैलो वर्ल्ड ⇐ पूरी स्ट्रिंग
string_name[first_index:]
आप अंतिम इंडेक्स मान को बिना स्क्वायर ब्रैकेट के अंदर खाली छोड़ कर स्ट्रिंग के अंदर एक इंडेक्स से अंत तक स्लाइस कर सकते हैं।
हैलो ="हैलो वर्ल्ड"कॉपी =हैलो[2:] + " स्ट्रिंग के अंत तक एक इंडेक्स"प्रिंट (कॉपी) # एलो वर्ल्ड स्ट्रिंग के अंत के लिए एक इंडेक्स
string_name[:second_index]
शुरुआत से दूसरे इंडेक्स में स्लाइसिंग उस स्थान को रखकर किया जाता है जहां पहला इंडेक्स कोष्ठक में खाली होगा।
हैलो ="हैलो वर्ल्ड"कॉपी =हैलो[:7] + "⇐ स्ट्रिंग के अंदर इंडेक्स की शुरुआत"प्रिंट (कॉपी) # हैलो डब्ल्यू स्ट्रिंग के अंदर इंडेक्स की शुरुआत
string_name[first_index:second_index]
याद रखें कि स्लाइस विधि गैर-समावेशी है यदि आपके पास दो विशिष्ट अनुक्रमणिकाएं हैं जिन्हें आप टुकड़ा करना चाहते हैं। इसलिए यदि आप अनुक्रमणिका 1 से अनुक्रमणिका 6 तक की स्ट्रिंग चाहते हैं, तो आप वास्तव में इसेhello[1:7]
के रूप में प्रारूपित करना चाहेंगे ।
हैलो ="हैलो वर्ल्ड"कॉपी =हैलो[1:7] + " दूसरे इंडेक्स का पहला इंडेक्स"प्रिंट (कॉपी) # एलो डब्ल्यू स्ट्रिंग के अंदर एक और इंडेक्स की शुरुआत
ऋणात्मक संख्याओं का भी उपयोग किया जा सकता है:
हैलो ="हैलो वर्ल्ड"कॉपी =हैलो[-7:-2] + "⇐ नेगेटिव इंडेक्स"प्रिंट (कॉपी) # ओ वर् ⇐ नेगेटिव इंडेक्स
जब आप स्ट्रिंग में हेरफेर करना चाहते हैं, लेकिन मूल स्ट्रिंग को म्यूटेट नहीं करना चाहते हैं, तो स्ट्रिंग स्लाइसिंग का उपयोग करना बहुत अच्छा है। यह चयनित इंडेक्स की मेमोरी में अपनी कॉपी बनाता है ताकि आप मूल स्ट्रिंग को बदले बिना उन्हें अपडेट कर सकें।
पायथन में स्ट्रिंग्स के माध्यम से कैसे लूप करें
पायथन में, हम स्ट्रिंग्स को उसी तरह से संभालते हैं जैसे हम सरणियों को संभालते हैं। हम स्ट्रिंग्स के माध्यम से लूप कर सकते हैं जैसे हम सरणी के लिए ... सिंटैक्स में उपयोग कर सकते हैं:
शब्द में अक्षर के लिए
हम "कैरियर कर्म" के माध्यम से लूप करने के लिए
स्ट्रिंग की लंबाई कैसे पता करें
स्ट्रिंग की लंबाई ज्ञात करने के लिए, len()
. का उपयोग करें तरीका।
lenExample ="तेज़ भूरी लोमड़ी आलसी कुत्ते के ऊपर से कूद जाती है।"प्रिंट(लेन(lenExample))
अपने कोड में कहीं और लेन कीवर्ड का प्रयोग न करें। दुभाषिया आपके नामित चर के साथ फ़ंक्शन को भ्रमित करेगा।
'इन' और 'नॉट इन' का उपयोग कैसे करें
यह देखने के लिए कि स्ट्रिंग में कुछ है या नहीं, आप पायथन स्ट्रिंग्स के साथ में कीवर्ड का उपयोग कर सकते हैं और नहीं।
checkString ="करियर कर्म आपको तकनीकी उद्योग में करियर बदलने में मदद करेगा"
checkString वह स्ट्रिंग है जिसका उपयोग हम अगले दो उदाहरणों के लिए करने जा रहे हैं।
इसमें उपयोग करना
in
कीवर्ड का उपयोग यह जांचने के लिए किया जा सकता है कि पाइथन दुभाषिया को बताकर स्ट्रिंग में कुछ है या नहीं, आप जानना चाहते हैं कि आपका खोज शब्द चर को निर्दिष्ट स्ट्रिंग में है या नहीं।
print("tech" in checkString) # True
पायथन सीखने के लिए एक वांछनीय भाषा है क्योंकि यह आसानी से पठनीय है। यहाँ वाक्य-विन्यास अनिवार्य रूप से है कि यदि आप किसी अन्य व्यक्ति से पूछ रहे थे तो आप उस प्रश्न को कैसे पूछ सकते हैं:
प्रश्न:"क्या" तकनीक "चेकस्ट्रिंग में है?" (चेकस्ट्रिंग में "तकनीक")
(स्कैन स्ट्रिंग)
ए:"हाँ, हाँ यह है।" (सच)
इसमें नहीं का उपयोग करना
not in
कुंजी वाक्यांश परीक्षण करता है कि स्ट्रिंग में कुछ नहीं है या नहीं। यह दिमाग को इधर-उधर लपेटने में भ्रमित करने वाला हो सकता है, इसलिए ध्यान दें। यहां, जब आप पूछते हैं कि क्या कुछ स्ट्रिंग में नहीं है, तो यह "सत्य" लौटाएगा यदि यह स्ट्रिंग में नहीं है, या "गलत" यदि यह स्ट्रिंग में है।
प्रिंट ("तकनीक" चेकस्ट्रिंग में नहीं है) # गलत
यदि हम किसी अन्य व्यक्ति से बात कर रहे हैं तो हम इस वाक्य-विन्यास को कैसे पढ़ सकते हैं:
प्रश्न:"क्या" तकनीक "चेकस्ट्रिंग में नहीं है?" ("तकनीक" चेकस्ट्रिंग में नहीं है)
(स्कैन स्ट्रिंग)
ए:"नहीं। शब्द "तकनीक" चेकस्ट्रिंग में है" (गलत)
क्या हम स्ट्रिंग के मेकअप को बदल सकते हैं?
पायथन में स्ट्रिंग्स अपरिवर्तनीय हैं। प्रारंभिक असाइनमेंट किए जाने के बाद स्ट्रिंग बनाने वाले वर्णों को किसी भी तरह से परिवर्तित या परिवर्तित नहीं किया जा सकता है।
delString ="क्या हम इसे हटा सकते हैं या इसे बदल सकते हैं?"delString[2] ="b"print(delString)
इस कोड को अपने पायथन दुभाषिया में चलाने का प्रयास करें। यह वह त्रुटि है जिसका परिणाम होगा:
ट्रेसबैक (सबसे हालिया कॉल अंतिम):फ़ाइल "main.py", लाइन नंबर, <मॉड्यूल> डेलस्ट्रिंग [2] ="बी" में टाइप करें त्रुटि:'str' ऑब्जेक्ट आइटम असाइनमेंट का समर्थन नहीं करता है
यहां टाइप एरर हमें बताता है कि पायथन में तार वर्णों को पुन:असाइन करने की अनुमति नहीं देते हैं। अगर आप अलग-अलग वर्णों को फिर से असाइन करना चाहते हैं, तो आपको पूरी स्ट्रिंग को उस नई स्ट्रिंग में फिर से असाइन करना होगा, जिसे आप बनाना चाहते हैं।
delString =delString[:2] + "b" + delString[3:] Print(delString)
delString[2] = “b”
के साथ हम जो करना चाहते हैं, उसे करने का सही तरीका यहां दिया गया कोड है। कोड की पंक्ति। एक स्ट्रिंग ऑब्जेक्ट को बदलने के लिए एक संपूर्ण पुन:असाइनमेंट की आवश्यकता होती है।
इसका अर्थ यह भी है कि एक स्ट्रिंग में एकल वर्णों को हटाना संभव नहीं है। हालाँकि, आप del
. के साथ एक संपूर्ण स्ट्रिंग को हटा सकते हैं कीवर्ड।
del delString print(delString) #this एक त्रुटि लौटाएगा या लिंटर अपरिभाषित होने के रूप में पकड़ लेगा
लोकप्रिय स्ट्रिंग तरीके
पायथन स्ट्रिंग्स से जुड़े कई तरीके हैं। सबसे अद्यतित सूची के लिए, पायथन डॉक्स देखें।
यहां कुछ सबसे लोकप्रिय तरीके दिए गए हैं। testString
एक नमूना स्ट्रिंग है जिसका उपयोग अधिकांश विधियों को प्रदर्शित करने के लिए किया जाएगा।
testString ="यह एक टेस्ट स्ट्रिंग है।"
पूरा करना ()
कैपिटलाइज़ विधि स्ट्रिंग के पहले अक्षर को कैपिटलाइज़ करेगी:
capitalized =testString.capitalize()print(capitalized) # यह एक परीक्षण स्ट्रिंग है
ढूंढें ()
यह अंतर्निहित विधि उस सूचकांक को वापस कर देगी जहां पारित तर्क शुरू होता है। यदि यह नहीं मिला, तो यह -1 लौटाता है।
मिला =testString.find("test")notfound =testString.find("not") print(मिला) # 10print(notfound) # -1
शामिल हों ()
शामिल होने की विधि पुनरावर्तनीय वस्तु को विधि में पारित कर देगी (एक स्ट्रिंग, एक सेट, एक टपल, या एक सूची हो सकती है), इसके माध्यम से लूप करें, और उस स्ट्रिंग विभाजक को जोड़ें जिसे विधि कहा जाता है। यहां एक उदाहरण दिया गया है:
separator ="," # यह हमारा विभाजक है - यह स्ट्रिंग वह है जिसे विधि onnumbers ="123" # कहा जाता है, यह हमारा पुनरावर्तनीय है। इस उदाहरण में, यह एक स्ट्रिंग joinByComma =विभाजक है। join(numbers)print(joinedByComma) # 1, 2, 3
यह देखने के लिए शामिल हों विधि के साथ खेलने का प्रयास करें कि आप सूचियों, सेटों या टुपल्स जैसे अन्य पुनरावृत्तियों के साथ क्या कर सकते हैं!
निचला() और ऊपरी()
निचले और ऊपरी अंतर्निर्मित कार्य स्ट्रिंग के मामले से निपटते हैं। लोअर सभी लोअरकेस में स्ट्रिंग की एक प्रति बनाएगा; अपर सभी अपरकेस में स्ट्रिंग की एक प्रति बनाएगा:
अपरकेस =testString.upper()print(अपरकेस) # यह एक टेस्ट स्ट्रिंग लोअरकेस है =testString.lower() प्रिंट (लोअरकेस) # यह एक टेस्ट स्ट्रिंग है
ये विधियां केवल कुछ विधियां हैं जिनका उपयोग आप स्ट्रिंग्स में हेरफेर करने के लिए कर सकते हैं। इन्हें सीखने के बाद, अन्य पायथन स्ट्रिंग विधियों की जाँच करें जैसे split()
, replace()
, title()
, और swapcase()
.
निष्कर्ष
इस लेख में, हमने देखा कि पायथन स्ट्रिंग्स क्या हैं, उनका उपयोग कैसे किया जाता है, और कुछ अंतर्निहित तरीके जो हमारे उपयोग के लिए उपलब्ध हैं। इस गाइड में महारत हासिल करने के बाद, अपने सीखने को और आगे ले जाने के लिए पायथन में स्ट्रिंग फ़ॉर्मेटिंग पर हमारे लेख पर एक नज़र डालें!