एक साधारण टेम्पलेट स्ट्रिंग बनाने के लिए पायथन स्ट्रिंग टेम्प्लेट क्लास का उपयोग किया जाता है। पायथन टेम्प्लेट स्ट्रिंग्स को पहली बार पायथन 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