पायथन - स्ट्रिंग्स

पायथन में स्ट्रिंग्स सबसे लोकप्रिय प्रकारों में से हैं। हम उन्हें केवल उद्धरणों में वर्ण संलग्न करके बना सकते हैं। पायथन सिंगल कोट्स को डबल कोट्स के समान मानता है। स्ट्रिंग्स बनाना उतना ही सरल है, जितना कि किसी वैरिएबल को मान देना। उदाहरण के लिए -

var1 = 'Hello World!'
var2 = "Python Programming"

स्ट्रिंग्स में वैल्यूज़ एक्सेस करना

अजगर एक चरित्र प्रकार का समर्थन नहीं करता है; इन्हें लंबाई के तार के रूप में माना जाता है, इस प्रकार इसे एक विकल्प माना जाता है।

सब्सट्रिंग तक पहुंचने के लिए, अपने विकल्प को प्राप्त करने के लिए इंडेक्स या सूचकांकों के साथ स्लाइसिंग के लिए चौकोर कोष्ठक का उपयोग करें। उदाहरण के लिए -

#!/usr/bin/python

var1 = 'Hello World!'
var2 = "Python Programming"

print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

var1[0]:  H
var2[1:5]:  ytho

अद्यतन स्ट्रिंग्स

आप किसी अन्य स्ट्रिंग को एक चर प्रदान करके (पुनः) एक मौजूदा स्ट्रिंग को "अपडेट" कर सकते हैं। नया मान उसके पिछले मूल्य या पूरी तरह से अलग स्ट्रिंग से संबंधित हो सकता है। उदाहरण के लिए -

#!/usr/bin/python

var1 = 'Hello World!'
print "Updated String :- ", var1[:6] + 'Python'

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Updated String :-  Hello Python

वर्ण से बचो

निम्नलिखित तालिका भागने या गैर-मुद्रण योग्य वर्णों की एक सूची है जिसे बैकस्लैश नोटेशन के साथ दर्शाया जा सकता है।

एक बच चरित्र की व्याख्या हो जाती है; एक उद्धृत में और साथ ही दोहरे उद्धृत तार।

बैकस्लैश नोटेशन षोडश चरित्र विवरण
\ए 0x07 बेल या सतर्क
\ b 0x08 बैकस्पेस
\ cx   नियंत्रण एक्स
\ Cx   नियंत्रण एक्स
\इ 0x1b पलायन
\ च 0x0c फ़ीड बनाएं
\ एम \ Cx   मेटा-नियंत्रण-x
\ n 0x0A नई पंक्ति
\ NNN   ऑक्टल नोटेशन, जहां n सीमा 0.7 में है
\ r 0x0d कैरिज रिटर्न
\ रों 0x20 अंतरिक्ष
\ t 0x09 टैब
\ v 0x0b लंबवत टैब
\एक्स   चरित्र x
\ xnn   हेक्साडेसिमल नोटेशन, जहां n 0.9, एफआर, या एएफ रेंज में है

स्ट्रिंगर स्पेशल ऑपरेटर्स

स्ट्रिंग चर मान लें a 'Hello' और वैरिएबल रखता है b 'पायथन' धारण करता है, तब -

ऑपरेटर विवरण उदाहरण
+ संबंध - ऑपरेटर के दोनों ओर मान जोड़ता है a + b HelloPython देगा
* पुनरावृत्ति - एक ही स्ट्रिंग की कई प्रतियों को समेटते हुए नए तार बनाता है a * 2 देगा -HelloHello
[] स्लाइस - दिए गए सूचकांक से चरित्र देता है एक [1] ई देगा
[:] रेंज स्लाइस - दिए गए रेंज के अक्षर देता है एक [1: 4] ईल देगा
में सदस्यता - यदि दिए गए स्ट्रिंग में कोई वर्ण मौजूद है, तो सत्य है H एक वसीयत में 1 देगा
अंदर नही सदस्यता - यदि दिए गए स्ट्रिंग में कोई वर्ण मौजूद नहीं है, तो यह सच है M, एक नहीं 1 देगा
आर / आर रॉ स्ट्रिंग - बच पात्रों के वास्तविक अर्थ को दबाता है। कच्चे तार के लिए वाक्यविन्यास कच्चे स्ट्रिंग ऑपरेटर के अपवाद के साथ सामान्य तार के समान है, "आर", जो उद्धरण चिह्नों से पहले है। "आर" लोअरकेस (आर) या अपरकेस (आर) हो सकता है और पहले उद्धरण चिह्न से पहले तुरंत रखा जाना चाहिए। प्रिंट r '\ n' प्रिंट \ n और R '\ n'prints \ n प्रिंट करें
% प्रारूप - स्ट्रिंग प्रारूपण करता है अगले भाग में देखें

स्ट्रिंग स्वरूपण ऑपरेटर

पायथन की सबसे अच्छी विशेषताओं में से एक स्ट्रिंग प्रारूप ऑपरेटर% है। यह ऑपरेटर स्ट्रिंग्स के लिए अद्वितीय है और सी के प्रिंटफ () परिवार से कार्यों के पैक के लिए बनाता है। निम्नलिखित एक सरल उदाहरण है -

#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21)

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

My name is Zara and weight is 21 kg!

यहां प्रतीकों के पूर्ण सेट की सूची दी गई है, जिनका उपयोग% के साथ किया जा सकता है -

प्रारूप प्रतीक परिवर्तन
%सी चरित्र
% s स्ट्रिंग के माध्यम से स्ट्रिंग रूपांतरण () स्वरूपण से पहले
%मैं दशमलव पूर्णांक पर हस्ताक्षर किए
% d दशमलव पूर्णांक पर हस्ताक्षर किए
% u अहस्ताक्षरित दशमलव पूर्णांक
% ओ अष्टक पूर्णांक
%एक्स हेक्साडेसिमल पूर्णांक (छोटे अक्षर)
%एक्स हेक्साडेसिमल पूर्णांक (UPPERcase पत्र)
%इ घातीय संकेतन (लोअरकेस 'ई' के साथ)
%इ घातीय संकेतन (UPPERcase 'E' के साथ)
% च फ्लोटिंग पॉइंट रियल नंबर
% छ द% च और% ई
% जी % f और% E से छोटा है

अन्य समर्थित प्रतीक और कार्यक्षमता निम्न तालिका में सूचीबद्ध हैं -

प्रतीक कार्यक्षमता
* तर्क चौड़ाई या परिशुद्धता निर्दिष्ट करता है
- औचित्य छोड़ दिया
+ संकेत प्रदर्शित करें
<एसपी> एक सकारात्मक संख्या से पहले एक रिक्त स्थान छोड़ दें
# ओक्टेल अग्रणी शून्य ('0') या हेक्साडेसिमल अग्रणी '0x' या '0X' को जोड़ें, यह निर्भर करता है कि 'x' या 'X' का उपयोग किया गया था।
0 शून्य से बाएँ पैड (रिक्त स्थान के बजाय)
% '%%' आपको एकल शाब्दिक '%' के साथ छोड़ता है
(वर) मानचित्रण चर (शब्दकोश तर्क)
एम.एन. मीटर न्यूनतम कुल चौड़ाई है और दशमलव अंक के बाद प्रदर्शित करने के लिए अंकों की संख्या है (यदि appl।)

ट्रिपल कोट्स

पायथन के ट्रिपल उद्धरणों में स्ट्रिंग को वर्बाइटिम NEWLINEs, TABs, और किसी भी अन्य विशेष वर्णों सहित कई लाइनों की अनुमति देता है।

ट्रिपल उद्धरण के लिए वाक्यविन्यास में तीन लगातार होते हैं single or double उद्धरण।

#!/usr/bin/python

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print para_str

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है। ध्यान दें कि हर एक विशेष वर्ण को उसके मुद्रित रूप में परिवर्तित कर दिया गया है, "स्ट्रिंग" के बीच स्ट्रिंग के अंत में अंतिम NEWLINE के ठीक नीचे। और ट्रिपल उद्धरण समापन। यह भी ध्यान दें कि एक लाइन के अंत में एक स्पष्ट कैरिज रिटर्न के साथ NEWLINE होते हैं या उसका एस्केप कोड (\ n) -

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.

कच्चे तार बैकस्लैश को एक विशेष चरित्र नहीं मानते हैं। हर पात्र जिसे आप एक कच्चे तार में रखते हैं, वह आपके लिखे जाने के तरीके पर रहता है -

#!/usr/bin/python

print 'C:\\nowhere'

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

C:\nowhere

अब कच्चे कड़े का उपयोग करते हैं। हम इसमें अभिव्यक्ति देंगेr'expression' निम्नानुसार है -

#!/usr/bin/python

print r'C:\\nowhere'

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

C:\\nowhere

यूनिकोड स्ट्रिंग

पायथन में सामान्य तारों को आंतरिक रूप से 8-बिट एएससीआईआई के रूप में संग्रहीत किया जाता है, जबकि यूनिकोड के तारों को 16-बिट यूनिकोड के रूप में संग्रहीत किया जाता है। यह दुनिया में अधिकांश भाषाओं के विशेष पात्रों सहित वर्णों के अधिक विविध सेट की अनुमति देता है। मैं यूनिकोड स्ट्रिंग्स के अपने उपचार को निम्न तक सीमित करूंगा -

#!/usr/bin/python

print u'Hello, world!'

जब उपरोक्त कोड निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

Hello, world!

जैसा कि आप देख सकते हैं, यूनिकोड के तार उपसर्ग यू का उपयोग करते हैं, जैसे कच्चे तार उपसर्ग आर का उपयोग करते हैं।

बिल्ट-इन स्ट्रींग मेथड्स

पायथन में स्ट्रिंग्स में हेरफेर करने के लिए निम्नलिखित अंतर्निहित तरीके शामिल हैं -

अनु क्रमांक। विवरण के साथ तरीके
1 कैपिटल ()

स्ट्रिंग के पहले अक्षर को कैपिटल करता है

2 केंद्र (चौड़ाई, भराव)

कुल चौड़ाई वाले स्तंभों पर केंद्रित मूल स्ट्रिंग के साथ एक स्पेस-पेड स्ट्रिंग लौटाता है।

3 गिनें (str, beg = 0, end = len (string))

गणना करता है कि स्ट्रिंग में या स्ट्रिंग के विकल्प में कितनी बार स्ट्रिंग होती है यदि इंडेक्स बीग शुरू करके और इंडेक्स एंड को समाप्त किया जाता है।

4 डिकोड (एन्कोडिंग = 'UTF-8', त्रुटियों = 'सख्त')

एन्कोडिंग के लिए पंजीकृत कोडेक का उपयोग करके स्ट्रिंग को डिकोड करता है। डिफ़ॉल्ट स्ट्रिंग एन्कोडिंग में एन्कोडिंग को डिफॉल्ट करता है।

5 एनकोड (एन्कोडिंग = 'UTF-8', त्रुटियों = 'सख्त')

स्ट्रिंग का एन्कोडेड स्ट्रिंग संस्करण लौटाता है; जब तक त्रुटियों को 'अनदेखा' या 'प्रतिस्थापित' के साथ नहीं दिया जाता है, तब तक डिफ़ॉल्ट, एक ValueError को उठाना है।

6 एंडविथ (प्रत्यय, भीख = 0, अंत = लेन (स्ट्रिंग))

यह निर्धारित करता है कि क्या स्ट्रिंग या स्ट्रिंग का एक स्ट्रिंग (यदि इंडेक्स बीग शुरू करने और इंडेक्स एंड को समाप्त करने के अंत दिए गए हैं) प्रत्यय के साथ समाप्त होते हैं; अगर ऐसा है तो झूठे और झूठे हैं।

7 expandtabs (tabsize = 8)

स्ट्रिंग को कई स्थानों में विस्तारित करता है; टैब प्रति 8 रिक्त स्थान को डिफॉल्ट करता है यदि टैब प्रदान नहीं किया जाता है।

8 खोजें (str, beg = 0 end = len (string))

निर्धारित करें कि यदि स्ट्रिंग स्ट्रिंग में होती है या स्ट्रिंग के विकल्प में यदि इंडेक्स बीग शुरू करना और इंडेक्स एंड को समाप्त करना है तो रिटर्न इंडेक्स दिया जाता है यदि मिला और -1।

9 सूचकांक (str, beg = 0, end = len (string))

खोजने के रूप में भी (), लेकिन एक अपवाद उठाता है अगर नहीं मिला।

10 isalnum ()

यह सच है कि अगर स्ट्रिंग में कम से कम 1 वर्ण है और सभी वर्ण अल्फ़ान्यूमेरिक हैं और अन्यथा झूठे हैं।

1 1 isalpha ()

यदि स्ट्रिंग में कम से कम 1 वर्ण है और सभी वर्ण अक्षरहीन और झूठे हैं तो सही है।

12 isdigit ()

यदि स्ट्रिंग में केवल अंक और असत्य हैं तो यह सही है।

13 कम है()

यह सच है कि अगर स्ट्रिंग में कम से कम 1 कैसिड कैरेक्टर है और सभी कैस्ड कैरेक्टर लोअरकेस में हैं और अन्यथा झूठे हैं।

14 isnumeric ()

यदि एक यूनिकोड स्ट्रिंग में केवल संख्यात्मक वर्ण हैं और अन्यथा झूठे हैं तो सही है।

15 isspace ()

सही है अगर स्ट्रिंग में केवल व्हाट्सएप अक्षर हैं और अन्यथा गलत हैं।

16 istitle ()

सच है अगर स्ट्रिंग ठीक से "शीर्षकबद्ध" है और अन्यथा गलत है।

17 isupper ()

यह सच है कि अगर स्ट्रिंग में कम से कम एक कैस्ड कैरेक्टर है और सभी कैस्ड कैरेक्टर्स अपरकेस और झूठे हैं तो।

18 में शामिल होने के (सेक)

अनुक्रम में तत्वों के स्ट्रिंग निरूपण (संगति) को स्ट्रिंग में विभाजक स्ट्रिंग के साथ जोड़ देता है।

19 लेन (स्ट्रिंग)

स्ट्रिंग की लंबाई लौटाता है

20 अन्याय (चौड़ाई [, भराव])

कुल चौड़ाई वाले स्तंभों के मूल-बाएँ मूल स्ट्रिंग के साथ एक स्पेस-पेड स्ट्रिंग लौटाता है।

21 कम ()

स्ट्रिंग में सभी बड़े अक्षरों को लोअरकेस में कनवर्ट करता है।

22 lstrip ()

स्ट्रिंग में सभी प्रमुख व्हाट्सएप को हटाता है।

23 maketrans ()

अनुवाद फ़ंक्शन में उपयोग की जाने वाली अनुवाद तालिका लौटाता है।

24 अधिकतम (एसटीआर)

स्ट्रिंग स्ट्रिंग से अधिकतम वर्णमाला वर्ण लौटाता है।

25 मिनट (एसटीआर)

स्ट्रिंग स्ट्रिंग से मिनी वर्णमाला वर्ण लौटाता है।

26 बदलें (पुराना, नया [, अधिकतम])

स्ट्रिंग में पुराने की सभी घटनाओं को नए के साथ या अधिकतम दिए जाने पर अधिकतम घटनाओं में बदल देता है।

27 Rfind (str, beg = 0, end = len (string))

खोज के समान (), लेकिन स्ट्रिंग में पीछे की ओर खोजें।

28 Rindex (str, beg = 0, end = len (string))

सूचकांक के रूप में भी (), लेकिन स्ट्रिंग में पीछे की ओर खोजें।

29 अन्यायपूर्ण (चौड़ाई, [, भराव])

कुल चौड़ाई वाले स्तंभों के सही मूल स्ट्रिंग के साथ एक स्पेस-पेड स्ट्रिंग लौटाता है।

30 rstrip ()

स्ट्रिंग के सभी अनुगामी व्हाट्सएप को हटाता है।

31 विभाजन (str = "", num = string.count (str))

स्ट्रिमिटर स्ट्रै के अनुसार स्प्लिट्स स्ट्रिंग (यदि प्रदान नहीं की गई है) और सब्सट्रिंग की सूची लौटाता है; यदि दिया गया हो तो अधिकांश संख्या में विभाजित करें।

32 विभाजन (संख्या = string.count ('\ n'))

सभी स्ट्रिंग (या संख्या) NEWLINE को विभाजित करता है और हटाए गए NEWLINE के साथ प्रत्येक पंक्ति की एक सूची देता है।

33 स्टार्टस्विथ (str, beg = 0, end = len (string))

यह निर्धारित करता है कि स्ट्रिंग या स्ट्रिंग का एक स्ट्रिंग (यदि इंडेक्स बीग शुरू करने और इंडेक्स एंड को समाप्त करने के लिए दिए गए हैं) स्ट्रिंग स्ट्रिंग के साथ शुरू होता है; अगर ऐसा है तो झूठे और झूठे हैं।

34 पट्टी ([वर्ण])

स्ट्रिंग पर lstrip () और rstrip () दोनों करता है।

35 swapcase ()

स्ट्रिंग में सभी अक्षरों के लिए इन्वर्ट केस।

36 शीर्षक ()

स्ट्रिंग का "शीर्षकबद्ध" संस्करण लौटाता है, अर्थात, सभी शब्द अपरकेस से शुरू होते हैं और बाकी निचले हिस्से में होते हैं।

37 अनुवाद (सारणी, विलोपन = "")

ट्रांस स्ट्रिंग टेबल (256 वर्ण) के अनुसार स्ट्रिंग का अनुवाद करता है, डेल स्ट्रिंग में उन लोगों को हटा रहा है।

38 ऊपरी ()

स्ट्रिंग में अक्षरों को अपरकेस में परिवर्तित करता है।

39 zfill (चौड़ाई)

कुल चौड़ाई वर्णों के साथ शून्य के साथ मूल स्ट्रिंग छोड़ दिया; संख्याओं के लिए, zfill () दिए गए किसी भी संकेत (कम एक शून्य) को बरकरार रखता है।

40 isdecimal ()

यदि एक यूनिकोड स्ट्रिंग में केवल दशमलव वर्ण और झूठे हैं तो सही है।