Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में स्ट्रिंग टेम्पलेट क्लास?

एक साधारण टेम्पलेट स्ट्रिंग बनाने के लिए पायथन स्ट्रिंग टेम्प्लेट क्लास का उपयोग किया जाता है। पायथन टेम्प्लेट स्ट्रिंग्स को पहली बार पायथन 2.4 में पेश किया गया था। पायथन स्ट्रिंग टेम्प्लेट टेम्प्लेट स्ट्रिंग्स को इसके कंस्ट्रक्टर के तर्क के रूप में पास करके बनाया गया है। जहां स्ट्रिंग स्वरूपण ऑपरेटर प्रतिस्थापन के लिए प्रतिशत चिह्न के लिए उपयोग किया जाता है और टेम्पलेट ऑब्जेक्ट डॉलर चिह्नों का उपयोग करता है।

टेम्प्लेट क्लास टेम्प्लेट से एक स्ट्रिंग बनाने के लिए तीन तरीके प्रदान करता है -

  • क्लास स्ट्रिंग.टेम्पलेट(टेम्पलेट ) - कंस्ट्रक्टर एक ही तर्क लेता है, जो कि टेम्प्लेट स्ट्रिंग है।

  • विकल्प(मानचित्रण, **कीवर्ड) - टेम्पलेट स्ट्रिंग मानों के लिए स्ट्रिंग मान (मैपिंग) को प्रतिस्थापित करने वाली विधि। मानचित्रण एक शब्दकोश जैसी वस्तु है, और इसके मूल्यों को एक शब्दकोश के रूप में एक्सेस किया जा सकता है। यदि कीवर्ड तर्क का उपयोग किया जाता है, तो यह प्लेसहोल्डर का प्रतिनिधित्व करता है। जब मैपिंग और कीवर्ड दोनों का उपयोग किया जाता है, तो कीवर्ड को प्राथमिकता दी जाती है। यदि कोई प्लेसहोल्डर मैपिंग या कीवर्ड से गायब है, तो एक keyError फेंका जाता है।

  • safe_substitute(मानचित्रण, **कीवर्ड) - विकल्प के समान कार्य ()। हालाँकि, यदि कोई प्लेसहोल्डर मैपिंग या कीवर्ड से गायब है, तो मूल प्लेसहोल्डर डिफ़ॉल्ट रूप से उपयोग किया जाता है, इस प्रकार KeyError से बचा जाता है। साथ ही, '$' की कोई भी घटना डॉलर का चिह्न लौटाती है।

टेम्प्लेट ऑब्जेक्ट में एक सार्वजनिक रूप से उपलब्ध विशेषता भी होती है−

  • टेम्पलेट - यह कंस्ट्रक्टर के टेम्प्लेट तर्क को दी गई वस्तु है। हालांकि केवल-पढ़ने के लिए पहुंच लागू नहीं है, यह सलाह दी जाती है कि अपने कार्यक्रम में इस विशेषता को न बदलें।

पायथन टेम्पलेट स्ट्रिंग उदाहरण

from string import Template

t = Template('$when, $who $action $what.')
s= t.substitute(when='In the winter', who='Rajesh', action='drinks', what ='Coffee')
print(s)

#dictionary as substitute argument

d = {"when":"In the winter", "who":"Rajesh", "action":"drinks","what":"Coffee"}
s = t.substitute(**d)
print(s)

आउटपुट

In the winter, Rajesh drinks Coffee.
In the winter, Rajesh drinks Coffee.

safe_substitute()

from string import Template

t = Template('$when, $who $action $what.')
s= t.safe_substitute(when='In the winter', who='Rajesh', action='drinks', what ='Coffee')
print(s)

परिणाम

In the winter, Rajesh drinks Coffee.

टेम्पलेट स्ट्रिंग प्रिंट करना

टेम्प्लेट ऑब्जेक्ट में टेम्प्लेट विशेषता टेम्प्लेट स्ट्रिंग लौटाती है।

from string import Template

t = Template('$when, $who $action $what.')
print('Template String: ', t.template)

परिणाम

Template String: $when, $who $action $what.

$ चिह्न से बचना

from string import Template

t = Template('$$ is called $name')
s=t.substitute(name='Dollar')
print(s)

परिणाम

$ is called Dollar

${identifier} example

${<identifier>} is equivalent to $<identifier>

इसकी आवश्यकता तब होती है जब मान्य पहचानकर्ता वर्ण प्लेसहोल्डर का अनुसरण करते हैं लेकिन प्लेसहोल्डर का हिस्सा नहीं होते हैं, जैसे ${noun}ification.

from string import Template
t = Template('$noun adjective is ${noun}ing')
s = t.substitute(noun='Test')
print(s)

परिणाम

Test adjective is Testing

  1. पायथन में रिवर्स स्ट्रिंग

    मान लीजिए कि हमारे पास वर्णों की एक सरणी है। हमें बिना किसी अतिरिक्त स्थान का उपयोग किए स्ट्रिंग को उल्टा करना होगा। इसलिए यदि स्ट्रिंग [H, E, L, L, O] की तरह है, तो आउटपुट [O, L, L, E, एच] इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - शुरू करने के लिए दो संकेत लें =0 और अंत =स्ट्रिंग की लंबाई

  1. केसफोल्ड () पायथन में स्ट्रिंग

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

  1. स्ट्रिंग को पायथन क्लास ऑब्जेक्ट में कैसे बदलें?

    एक पायथन फ़ंक्शन में उपयोगकर्ता इनपुट के रूप में एक स्ट्रिंग को देखते हुए, यदि वर्तमान में परिभाषित नाम स्थान में उस नाम के साथ कोई वर्ग है, तो मैं इसमें से एक क्लास ऑब्जेक्ट प्राप्त करना चाहता हूं। उदाहरण क्लास फ़ोबार:पासप्रिंट eval(Foobar)प्रिंट टाइप(Foobar) आउटपुट __main__.Foobar स्ट्रिंग को क्ल