स्ट्रिंग फ़ॉर्मैटिंग को स्ट्रिंग इंटरपोलेशन भी कहा जाता है। यह किसी पूर्वनिर्धारित टेक्स्ट में आपकी कस्टम स्ट्रिंग या वेरिएबल डालने की प्रक्रिया है।
custom_string ="String formatting"print(f"{custom_string} is a powerful technique")संचालित द्वारा
String formatting is a powerful technique
संचालित द्वारा
एक डेटा साइंटिस्ट के रूप में, आप इसे ग्राफ़ में शीर्षक डालने, कोई संदेश या त्रुटि दिखाने, या किसी फ़ंक्शन को कथन पास करने के लिए उपयोग करेंगे।
फ़ॉर्मैटिंग के तरीके
पोज़िशनल फ़ॉर्मैटिंग
फ़ॉर्मैटेड स्ट्रिंग लिटरल्स
टेम्पलेट विधि
String.Format विधि
हम टेक्स्ट में कर्ली ब्रेसेज़ की जोड़ी से परिभाषित प्लेसहोल्डर डालते हैं। हम स्ट्रिंग का डॉट format मेथड कॉल करते हैं। फिर, हम वांछित मान मेथड में पास करते हैं। मेथड प्लेसहोल्डर को उनके आने के क्रम में मानों से बदल देता है:
हम एक स्ट्रिंग परिभाषित करते हैं और उसमें दो प्लेसहोल्डर डालते हैं। हम मेथड को दो स्ट्रिंग्स पास करते हैं, जिससे निम्नलिखित आउटपुट मिलेगा:
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())संचालित द्वारा
लेकिन क्योंकि लौटा हुआ फ़ॉर्मैट काफ़ी विशिष्ट होता है, आप %y-%m-%d-%h-%m जैसे फ़ॉर्मैट स्पेसिफ़ायर का उपयोग करके फ़ॉर्मैट को हमारे लिए अधिक परिचित रूप में समायोजित कर सकते हैं!
print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))संचालित द्वारा
निम्नलिखित उदाहरण में, आप 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()संचालित द्वारा
जब हम ऊपर का कोड चलाते हैं, तो यह निम्नलिखित परिणाम देता है:
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
स्ट्रिंग फ़ॉर्मैटिंग को स्ट्रिंग इंटरपोलेशन भी कहा जाता है। यह किसी पूर्वनिर्धारित टेक्स्ट में आपकी कस्टम स्ट्रिंग या वेरिएबल डालने की प्रक्रिया है।
एक डेटा साइंटिस्ट के रूप में, आप इसे ग्राफ़ में शीर्षक डालने, कोई संदेश या त्रुटि दिखाने, या किसी फ़ंक्शन को कथन पास करने के लिए उपयोग करेंगे।
फ़ॉर्मैटिंग के तरीके
String.Format विधि
हम टेक्स्ट में कर्ली ब्रेसेज़ की जोड़ी से परिभाषित प्लेसहोल्डर डालते हैं। हम स्ट्रिंग का डॉट format मेथड कॉल करते हैं। फिर, हम वांछित मान मेथड में पास करते हैं। मेथड प्लेसहोल्डर को उनके आने के क्रम में मानों से बदल देता है:
पोज़िशनल फ़ॉर्मैटिंग
हम एक स्ट्रिंग परिभाषित करते हैं और उसमें दो प्लेसहोल्डर डालते हैं। हम मेथड को दो स्ट्रिंग्स पास करते हैं, जिससे निम्नलिखित आउटपुट मिलेगा:
हम स्ट्रिंग और मेथड को पास किए गए मानों—दोनों के लिए—वेरिएबल्स का उपयोग कर सकते हैं। नीचे दिए उदाहरण में, हम प्लेसहोल्डर वाली स्ट्रिंग और दो अन्य वेरिएबल्स परिभाषित करते हैं। हम उन दो वेरिएबल्स का उपयोग करते हुए स्ट्रिंग पर format मेथड लगाते हैं। मेथड स्ट्रिंग को पढ़ता है और दिए गए मानों से प्लेसहोल्डर को बदल देता है।
मानों का पुनःक्रमण
नीचे दिए उदाहरण में, आप प्लेसहोल्डर में इंडेक्स नंबर जोड़कर मानों का क्रम बदलते हैं। यह इस बात को प्रभावित करता है कि मेथड प्लेसहोल्डर किस क्रम में बदलता है।
मेथड उन्हें दिए गए क्रम के अनुसार मानों से बदल देता है।
यदि हम इंडेक्स नंबर जोड़ दें, तो प्रतिस्थापन का क्रम उसी अनुसार बदल जाता है।
नेम प्लेसहोल्डर
हम कीवर्ड आर्ग्युमेंट्स भी इस्तेमाल कर सकते हैं, जिन्हें उनके कीवर्ड नाम से बुलाया जाता है।
नीचे दिए उदाहरण में, हमने प्लेसहोल्डर में कीवर्ड डाले हैं। फिर, हम format मेथड में इन कीवर्ड्स को कॉल करते हैं। इसके बाद हम तय करते हैं कि प्रत्येक के लिए कौन-सा वेरिएबल पास होगा, और नीचे दिखा आउटपुट मिलता है।
आइए नीचे दिए कोड को देखें। हमने tool और goal कुंजियों वाला एक डिक्शनरी परिभाषित किया है।
हम इनके मानों को एक स्ट्रिंग में डालना चाहते हैं। प्लेसहोल्डर के अंदर, हम bracket नोटेशन का उपयोग करके वेरिएबल data की key tool से जुड़े मान को निर्दिष्ट कर सकते हैं। data वह डिक्शनरी है जो मेथड में दी गई है, और tool उस डिक्शनरी में मौजूद कुंजी है।
तो हमें नीचे दिखाया गया वांछित आउटपुट मिलता है। सावधान रहें! आपको इंडेक्स को बिना उद्धरण चिह्नों के निर्दिष्ट करना होगा।
फ़ॉर्मैट स्पेसिफ़ायर
हम कर्ली ब्रेसेज़ के अंदर फ़ॉर्मैट स्पेसिफ़ायर भी बता सकते हैं। यह निर्धारित करता है कि व्यक्तिगत मान कैसे प्रस्तुत होंगे। यहाँ हम सिंटैक्स index colon specifier का उपयोग करेंगे। सबसे सामान्य फ़ॉर्मैट स्पेसिफ़ायर में से एक float होता है, जिसे
fसे दर्शाया जाता है। कोड में, हम निर्दिष्ट करते हैं कि इंडेक्स 0 के साथ पास किया गया मान float होगा।हम
.2fभी जोड़ सकते हैं, जो दर्शाता है कि हम float को दो दशमलव तक सीमित रखना चाहते हैं, जैसा कि आउटपुट में दिखता है।फ़ॉर्मैटिंग
datetimePython में datetime नामक एक मॉड्यूल है जो हमें, उदाहरण के लिए, आज की तारीख और समय प्राप्त करने देता है।
लेकिन क्योंकि लौटा हुआ फ़ॉर्मैट काफ़ी विशिष्ट होता है, आप
%y-%m-%d-%h-%mजैसे फ़ॉर्मैट स्पेसिफ़ायर का उपयोग करके फ़ॉर्मैट को हमारे लिए अधिक परिचित रूप में समायोजित कर सकते हैं!इंटरएक्टिव उदाहरण
निम्नलिखित उदाहरण में, आप
wikipedia_articleके 4थे से 19वें अक्षर तक और 22वें से 44वें अक्षर तक के सबस्ट्रिंग्स को क्रमशः वेरिएबल्सfirst_posऔरsecond_posमें असाइन करेंगे। स्ट्रिंग्स को लोअरकेस में समायोजित करें। अंत में, वेरिएबल्सfirst_posऔरsecond_posप्रिंट करें।जब हम ऊपर का कोड चलाते हैं, तो यह निम्नलिखित परिणाम देता है:
computer science artificial intelligenceखुद आज़माएँ।
पोज़िशनल फ़ॉर्मैटिंग के बारे में अधिक जानने के लिए, हमारे कोर्स Regular Expressions in Python का यह वीडियो देखें।
यह सामग्री DataCamp के Regular Expressions in Python कोर्स से ली गई है, जिसे Maria Eugenia Inzaugarat ने बनाया है।
हमारा Python String ट्यूटोरियल देखें।