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

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

पायथन का string.Template क्लास सरल टेम्प्लेट स्ट्रिंग्स बनाने के लिए उपयोग होता है। यह पायथन 2.4 में पेश किया गया था। % फॉर्मेटिंग के विपरीत, यह प्लेसहोल्डर के लिए $ साइन का उपयोग करता है।

Template क्लास के मेथड्स

  • Template(template): कंस्ट्रक्टर, टेम्प्लेट स्ट्रिंग लेता है।
  • substitute(mapping, **kwargs): मान प्रतिस्थापित करता है। प्लेसहोल्डर गायब होने पर KeyError उठाता है।
  • safe_substitute(mapping, **kwargs): substitute जैसा लेकिन गायब प्लेसहोल्डर को वैसे ही छोड़ देता है (कोई त्रुटि नहीं)।

बुनियादी उदाहरण

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)  # In the winter, Rajesh drinks Coffee.

# डिक्शनरी के साथ
d = {"when": "In the winter", "who": "Rajesh", "action": "drinks", "what": "Coffee"}
s = t.substitute(**d)
print(s)  # In the winter, Rajesh drinks Coffee.

safe_substitute()

s = t.safe_substitute(when='In the winter', who='Rajesh', action='drinks')
# 'what' गायब है - कोई त्रुटि नहीं, प्लेसहोल्डर बना रहता है
print(s)  # In the winter, Rajesh drinks $what.

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

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

$ साइन एस्केप करना

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

प्लेसहोल्डर पहचानकर्ता: ${identifier}

जब वैध पहचानकर्ता वर्ण प्लेसहोल्डर के बाद आते हों लेकिन उसका हिस्सा न हों:

t = Template('$noun adjective is ${noun}ing')
s = t.substitute(noun='Test')
print(s)  # Test adjective is Testing

यहां ${noun} आवश्यक है ताकि ing प्लेसहोल्डर का हिस्सा न बने।

उन्नत: कस्टम डिलीमीटर

आप Template को सबक्लास करके डिलीमीटर बदल सकते हैं:

class MyTemplate(Template):
    delimiter = '%'

t = MyTemplate('%name is %age years old')
print(t.substitute(name='Alice', age=30))  # Alice is 30 years old

कब उपयोग करें?

  • उपयोगकर्ता-प्रदत्त टेम्प्लेट्स के लिए (सुरक्षा: कोई कोड निष्पादन नहीं)।
  • सरल प्लेसहोल्डर प्रतिस्थापन के लिए।
  • जब % या {} फॉर्मेटिंग बहुत जटिल या असुरक्षित हो।
  1. - पायथन में स्ट्रिंग उल्टा करें

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

  1. - पायथन में casefold() स्ट्रिंग विधि

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

  1. - स्ट्रिंग को Python क्लास ऑब्जेक्ट में कैसे बदलें?

    यूज़र इनपुट के रूप में दी गई स्ट्रिंग से, यदि वर्तमान नेमस्पेस में उस नाम की क्लास मौजूद है, तो क्लास ऑब्जेक्ट प्राप्त करना चाहते हैं। उदाहरण class Foobar: pass print(eval(Foobar)) print(type(Foobar)) आउटपुट __main__.Foobar <type classobj> स्ट्रिंग को क्लास ऑब्जेक्ट में बदलने का दूसरा तरी