मुख्य सामग्री पर जाएँ

Python String format() ट्यूटोरियल

Python में स्ट्रिंग फ़ॉर्मैटिंग के बारे में जानें।
· 5 मि॰ पढ़ें

AI के साथ खोजें

स्ट्रिंग फ़ॉर्मैटिंग को स्ट्रिंग इंटरपोलेशन भी कहा जाता है। यह किसी पूर्वनिर्धारित टेक्स्ट में आपकी कस्टम स्ट्रिंग या वेरिएबल डालने की प्रक्रिया है।

custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique

एक डेटा साइंटिस्ट के रूप में, आप इसे ग्राफ़ में शीर्षक डालने, कोई संदेश या त्रुटि दिखाने, या किसी फ़ंक्शन को कथन पास करने के लिए उपयोग करेंगे।

फ़ॉर्मैटिंग के तरीके

  • पोज़िशनल फ़ॉर्मैटिंग
  • फ़ॉर्मैटेड स्ट्रिंग लिटरल्स
  • टेम्पलेट विधि

String.Format विधि

हम टेक्स्ट में कर्ली ब्रेसेज़ की जोड़ी से परिभाषित प्लेसहोल्डर डालते हैं। हम स्ट्रिंग का डॉट format मेथड कॉल करते हैं। फिर, हम वांछित मान मेथड में पास करते हैं। मेथड प्लेसहोल्डर को उनके आने के क्रम में मानों से बदल देता है:

'text{}'.format(value)

पोज़िशनल फ़ॉर्मैटिंग

हम एक स्ट्रिंग परिभाषित करते हैं और उसमें दो प्लेसहोल्डर डालते हैं। हम मेथड को दो स्ट्रिंग्स पास करते हैं, जिससे निम्नलिखित आउटपुट मिलेगा:

print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically

हम स्ट्रिंग और मेथड को पास किए गए मानों—दोनों के लिए—वेरिएबल्स का उपयोग कर सकते हैं। नीचे दिए उदाहरण में, हम प्लेसहोल्डर वाली स्ट्रिंग और दो अन्य वेरिएबल्स परिभाषित करते हैं। हम उन दो वेरिएबल्स का उपयोग करते हुए स्ट्रिंग पर format मेथड लगाते हैं। मेथड स्ट्रिंग को पढ़ता है और दिए गए मानों से प्लेसहोल्डर को बदल देता है।

my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets

मानों का पुनःक्रमण

नीचे दिए उदाहरण में, आप प्लेसहोल्डर में इंडेक्स नंबर जोड़कर मानों का क्रम बदलते हैं। यह इस बात को प्रभावित करता है कि मेथड प्लेसहोल्डर किस क्रम में बदलता है।

मेथड उन्हें दिए गए क्रम के अनुसार मानों से बदल देता है।

print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy

यदि हम इंडेक्स नंबर जोड़ दें, तो प्रतिस्थापन का क्रम उसी अनुसार बदल जाता है।

print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda

नेम प्लेसहोल्डर

हम कीवर्ड आर्ग्युमेंट्स भी इस्तेमाल कर सकते हैं, जिन्हें उनके कीवर्ड नाम से बुलाया जाता है।

नीचे दिए उदाहरण में, हमने प्लेसहोल्डर में कीवर्ड डाले हैं। फिर, हम format मेथड में इन कीवर्ड्स को कॉल करते हैं। इसके बाद हम तय करते हैं कि प्रत्येक के लिए कौन-सा वेरिएबल पास होगा, और नीचे दिखा आउटपुट मिलता है।

tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset

आइए नीचे दिए कोड को देखें। हमने tool और goal कुंजियों वाला एक डिक्शनरी परिभाषित किया है।

my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}

हम इनके मानों को एक स्ट्रिंग में डालना चाहते हैं। प्लेसहोल्डर के अंदर, हम bracket नोटेशन का उपयोग करके वेरिएबल data की key tool से जुड़े मान को निर्दिष्ट कर सकते हैं। data वह डिक्शनरी है जो मेथड में दी गई है, और tool उस डिक्शनरी में मौजूद कुंजी है।

print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))

तो हमें नीचे दिखाया गया वांछित आउटपुट मिलता है। सावधान रहें! आपको इंडेक्स को बिना उद्धरण चिह्नों के निर्दिष्ट करना होगा।

Unsupervised algorithms try to find patterns in the dataset

फ़ॉर्मैट स्पेसिफ़ायर

हम कर्ली ब्रेसेज़ के अंदर फ़ॉर्मैट स्पेसिफ़ायर भी बता सकते हैं। यह निर्धारित करता है कि व्यक्तिगत मान कैसे प्रस्तुत होंगे। यहाँ हम सिंटैक्स index colon specifier का उपयोग करेंगे। सबसे सामान्य फ़ॉर्मैट स्पेसिफ़ायर में से एक float होता है, जिसे f से दर्शाया जाता है। कोड में, हम निर्दिष्ट करते हैं कि इंडेक्स 0 के साथ पास किया गया मान float होगा।

print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!

हम .2f भी जोड़ सकते हैं, जो दर्शाता है कि हम float को दो दशमलव तक सीमित रखना चाहते हैं, जैसा कि आउटपुट में दिखता है।

print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!

फ़ॉर्मैटिंग datetime

Python में datetime नामक एक मॉड्यूल है जो हमें, उदाहरण के लिए, आज की तारीख और समय प्राप्त करने देता है।

from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243

लेकिन क्योंकि लौटा हुआ फ़ॉर्मैट काफ़ी विशिष्ट होता है, आप %y-%m-%d-%h-%m जैसे फ़ॉर्मैट स्पेसिफ़ायर का उपयोग करके फ़ॉर्मैट को हमारे लिए अधिक परिचित रूप में समायोजित कर सकते हैं!

print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2020-08-08 06:29

इंटरएक्टिव उदाहरण

निम्नलिखित उदाहरण में, आप wikipedia_article के 4थे से 19वें अक्षर तक और 22वें से 44वें अक्षर तक के सबस्ट्रिंग्स को क्रमशः वेरिएबल्स first_pos और second_pos में असाइन करेंगे। स्ट्रिंग्स को लोअरकेस में समायोजित करें। अंत में, वेरिएबल्स first_pos और second_pos प्रिंट करें।

# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()

जब हम ऊपर का कोड चलाते हैं, तो यह निम्नलिखित परिणाम देता है:

computer science artificial intelligence

खुद आज़माएँ।

पोज़िशनल फ़ॉर्मैटिंग के बारे में अधिक जानने के लिए, हमारे कोर्स Regular Expressions in Python का यह वीडियो देखें।

यह सामग्री DataCamp के Regular Expressions in Python कोर्स से ली गई है, जिसे Maria Eugenia Inzaugarat ने बनाया है।

हमारा Python String ट्यूटोरियल देखें।

विषय