पायथन स्ट्रिंग इंटरपोलेशन

इस लेख में हम अजगर स्ट्रिंग प्रक्षेप के बारे में जानेंगे। पायथन टेक्स्ट स्ट्रिंग्स को प्रारूपित करने के कई तरीकों का समर्थन करता है और इनमें% -formatting, sys.format (), string.Template और f-strings शामिल हैं।

स्ट्रिंग इंटरपोलेशन एक स्ट्रिंग में प्लेसहोल्डर्स में चर के मूल्यों को प्रतिस्थापित करने वाली प्रक्रिया है। उदाहरण के लिए, यदि आपके पास "हैलो (व्यक्ति का नाम) जैसे किसी व्यक्ति को नमस्ते कहने के लिए एक टेम्पलेट है, तो आपसे मिलना अच्छा है!", आप एक वास्तविक नाम वाले व्यक्ति के नाम के लिए प्लेसहोल्डर को बदलना चाहेंगे। इस प्रक्रिया को स्ट्रिंग इंटरपोलेशन कहा जाता है।

एफ-स्ट्रिंग्स

पायथन 3.6 ने नए स्ट्रिंग इंटरपोलेशन विधि को शाब्दिक स्ट्रिंग इंटरपोलेशन कहा और एक नया शाब्दिक उपसर्ग पेश किया f। स्ट्रिंग्स को स्वरूपित करने का यह नया तरीका शक्तिशाली और उपयोग में आसान है। यह स्ट्रिंग स्थिरांक के अंदर एम्बेडेड पायथन अभिव्यक्तियों तक पहुंच प्रदान करता है।

उदाहरण 1:

 name = 'World' program = 'Python' print(f'Hello (name)! This is (program)')

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

हैलो वर्ल्ड! यह पायथन है

ऊपर के उदाहरण में शाब्दिक उपसर्ग fदो स्ट्रिंग चर नाम और प्रोग्राम के ब्रेसिज़ के मूल्य को पुनर्स्थापित करने के लिए पायथन को बताता है ()। इसलिए, जब हम printउपरोक्त आउटपुट प्राप्त करते हैं।

यह नया स्ट्रिंग प्रक्षेप शक्तिशाली है क्योंकि हम मनमाने पाइथन अभिव्यक्ति को एम्बेड कर सकते हैं, हम इसके साथ इनलाइन अंकगणित भी कर सकते हैं।

उदाहरण 2:

 a = 12 b = 3 print(f'12 multiply 3 is (a * b).')

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

 12 गुणा 3 36 है।

उपरोक्त कार्यक्रम में हमने इनलाइन अंकगणित किया जो केवल इस पद्धति से संभव है।

% -अवसर करत

पायथन में स्ट्रिंग्स का एक अनूठा अंतर्निहित ऑपरेशन है जिसे %ऑपरेटर के साथ एक्सेस किया जा सकता है । का उपयोग करके %हम बहुत आसानी से सरल स्ट्रिंग प्रक्षेप कर सकते हैं।

उदाहरण 3:

 print("%s %s" %('Hello','World',))

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

 नमस्ते दुनिया

उपर्युक्त उदाहरण में हमने दो %sस्ट्रिंग प्रारूप निर्दिष्ट और दो तार Helloऔर Worldकोष्ठक में उपयोग किया है ()। हम Hello Worldउत्पादन के रूप में मिला है । %sस्ट्रिंग प्रारूप निर्दिष्टकर्ता पायथन को बताता है कि मूल्य को कहां स्थान देना है।

स्ट्रिंग स्वरूपण वाक्यविन्यास थोड़ा बदल जाता है, अगर हम एक ही स्ट्रिंग में कई प्रतिस्थापन करना चाहते हैं, और %ऑपरेटर केवल एक तर्क लेता है, तो हमें दाईं ओर की ओर को एक tuple में लपेटने की आवश्यकता है जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है।

उदाहरण 4:

 name = 'world' program ='python' print('Hello %s! This is %s.'%(name,program))

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

हैलो वर्ल्ड! यह अजगर है।

उपरोक्त उदाहरण में हमने दो स्ट्रिंग चर नाम और प्रोग्राम का उपयोग किया है। हम दोनों चर को कोष्ठक में लपेटते हैं ()

यदि हम %ऑपरेटर से मैपिंग पास करते हैं, तो हमारे प्रारूप स्ट्रिंग में नाम से परिवर्तनशील प्रतिस्थापन का उल्लेख करना संभव है :

उदाहरण 5:

 name = 'world' program ='python' print(‘Hello %(name)s! This is %(program)s.’%(name,program))

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

हैलो वर्ल्ड! यह अजगर है।

यह हमारे प्रारूप को बनाए रखने में आसान बनाता है और भविष्य में संशोधित करना आसान बनाता है। हमें उन मूल्यों के क्रम के बारे में चिंता करने की आवश्यकता नहीं है जो हम उन मूल्यों के क्रम से गुजर रहे हैं जो प्रारूप स्ट्रिंग में संदर्भित हैं।

Str.format ()

इस स्ट्रिंग स्वरूपण में हम format()एक स्ट्रिंग ऑब्जेक्ट और ब्रेसेस पर फ़ंक्शन का उपयोग करते हैं, फ़ंक्शन ()में स्ट्रिंग ऑब्जेक्ट format()को ब्रेसिज़ के स्थान पर प्रतिस्थापित किया जाता है ()। हम format()फंक्शन का उपयोग सिंपल पोजिशनिंग फॉर्मेटिंग की तरह कर सकते हैं , %फॉर्मेटिंग की तरह ।

उदाहरण 6:

 name = 'world' print('Hello, ()'.format(name))

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

 नमस्ते दुनिया

इस उदाहरण में हमने नाम ऑब्जेक्ट को पास करने के लिए ब्रेसिज़ ()और format()फ़ंक्शन का उपयोग किया। हमें ()आउटपुट में ब्रेसिज़ के स्थान पर नाम का मान मिला ।

हम नाम से अपने चर प्रतिस्थापन का उल्लेख कर सकते हैं और उनका उपयोग किसी भी क्रम में कर सकते हैं जो हम चाहते हैं। यह काफी शक्तिशाली विशेषता है क्योंकि यह प्रारूप फ़ंक्शन में पारित तर्कों को बदले बिना प्रदर्शन के क्रम को फिर से व्यवस्थित करने की अनुमति देता है।

उदाहरण 7:

 name = 'world' program ='python' print('Hello (name)!This is(program).'.format(name=name,program=program))

जब हम उपरोक्त कार्यक्रम चलाते हैं, तो आउटपुट होगा

 नमस्ते दुनिया! यह अजगर है।

In this example we specified the variable substitutions place using the name of variable and pass the variable in format().

Template Strings

Template Strings is simpler and less powerful mechanism of string interpolation. We need to import Template class from Python’s built-in string module to use it.

Example 8:

 from string import Template name = 'world' program ='python' new = Template('Hello $name! This is $program.') print(new.substitute(name= name,program=program))

When we run the above program, the output will be

 Hello world! This is python.

In this example we import Template class from built-in string module and made a template which we used to pass two variable.

Key Points to Remember:

  1. %-format method is very old method for interpolation and is not recommended to use as it decrease the code readability.
  2. In str.format() method we pass the string object to the format() function for string interpolation.
  3. टेम्प्लेट मेथड में हम स्ट्रिंग मॉड्यूल में निर्मित टेम्प्लेट क्लास को आयात करके एक टेम्पलेट बनाते हैं।
  4. शाब्दिक स्ट्रिंग इंटरपोलेशन विधि शक्तिशाली प्रक्षेप विधि है जो कोड पठनीयता का उपयोग करने और बढ़ाने के लिए आसान है।

दिलचस्प लेख...