पायथन f-स्ट्रिंग्स: परम गाइड
पायथन f-स्ट्रिंग्स एक स्ट्रिंग में एक्सप्रेशन को एम्बेड करती हैं। एक एक्सप्रेशन वेरिएबल की सामग्री, गणितीय गणना का परिणाम, या कोई अन्य पायथन मान हो सकता है। f-स्ट्रिंग्स को नियमित स्ट्रिंग्स से अलग किया जाता है क्योंकि स्ट्रिंग से पहले अक्षर 'f' आता है।
जब आप एक स्ट्रिंग लिख रहे होते हैं, तो आप स्ट्रिंग के किसी भाग को एक विशिष्ट मान का उपयोग करने के लिए बदलना चाह सकते हैं। उदाहरण के लिए, आप एक स्ट्रिंग चाह सकते हैं जिसमें वह मान हो जो उपयोगकर्ता ने कंसोल में डाला है।
पायथन ने कुछ समय से स्ट्रिंग फॉर्मेटिंग का समर्थन किया है, लेकिन पायथन 3.6 ने स्ट्रिंग्स को नए मानों को शामिल करने के लिए बदलने की एक नई विधि पेश की: f-स्ट्रिंग्स।
यह ट्यूटोरियल उदाहरणों के संदर्भ में पायथन में f-स्ट्रिंग्स की मूल बातें चर्चा करेगा। इस ट्यूटोरियल को पढ़ने के अंत तक, आप पायथन f-स्ट्रिंग्स का उपयोग करने में विशेषज्ञ बन जाएंगे।
पायथन स्ट्रिंग फॉर्मेटिंग
पायथन 3.6 से पहले, पायथन स्ट्रिंग को फॉर्मेट करने के दो तरीके थे। आप प्रतिशत (%) फॉर्मेटिंग और str.format() का उपयोग कर सकते थे।
प्रतिशत फॉर्मेटिंग
प्रतिशत फॉर्मेटिंग शुरुआत से ही मौजूद है और आपको एक या एकाधिक मानों के साथ स्ट्रिंग को फॉर्मेट करने की अनुमति देता है।
यहां प्रतिशत फॉर्मेटिंग दृष्टिकोण का एक उदाहरण दिया गया है:
email = "lindsay.ballantyne@gmail.com" new_string = "Your email address is %s." % email print(new_string)
हमारा कोड निम्न आउटपुट देता है:
Your email address is lindsay.ballantyne@gmail.com
हमारे कोड में, हम "Your email address is %s." स्ट्रिंग में हमारे नए स्ट्रिंग के लिए प्लेसहोल्डर के रूप में %s चिह्न का उपयोग करते हैं। कोड की उस पंक्ति के अंत में, हम "email" के बाद एक प्रतिशत चिह्न का उपयोग करके %s को हमारे उपयोगकर्ता के ईमेल पते से बदल देते हैं।
str.format()
पायथन 2.6 में, स्ट्रिंग्स को फॉर्मेट करने की एक नई विधि पेश की गई थी: format() फ़ंक्शन।
मान लीजिए हम दो मानों के साथ एक स्ट्रिंग को फॉर्मेट करना चाहते हैं। हम format() विधि का उपयोग करके ऐसा कर सकते हैं:
name = "Lindsay Ballantyne"
email = "lindsay.ballantyne@gmail.com"
new_string = "Hello, {}. Your email address is {}.".format(name, email)
हमारा कोड निम्न आउटपुट देता है:
Hello, Lindsay Ballantyne. Your email address is lindsay.ballantyne@gmail.com.
हमारे कोड में, हम दो पायथन वेरिएबल परिभाषित करते हैं, "name" और "email"। ये वेरिएबल हमारे प्रोग्राम का उपयोग करने वाले किसी व्यक्ति का नाम और ईमेल पता संग्रहीत करते हैं। फिर, हम अपने स्ट्रिंग में "name" और "email" मानों को जोड़ने के लिए .format() सिंटैक्स का उपयोग करते हैं।
पायथन f-स्ट्रिंग फॉर्मेट
पायथन f-स्ट्रिंग्स एक स्ट्रिंग लिटरल में एक्सप्रेशन को एम्बेड करती हैं। आप वेरिएबल्स, स्ट्रिंग्स, या फ़ंक्शन के परिणामों को एक स्ट्रिंग में एम्बेड करने के लिए f-स्ट्रिंग्स का उपयोग कर सकते हैं। एक f-स्ट्रिंग की शुरुआत में, स्ट्रिंग शुरू होने से पहले, "f" उपसर्ग होता है।
पायथन 3.6 में पेश किया गया, यह स्ट्रिंग्स को फॉर्मेट करना आसान बनाता है।
f-स्ट्रिंग्स कर्ली ब्रेसिज़ का उपयोग उन मानों को संग्रहीत करने के लिए करती हैं जिन्हें एक स्ट्रिंग में फॉर्मेट किया जाना चाहिए। f-स्ट्रिंग्स एक कैपिटल "F" का उपयोग फॉर्मेटेड स्ट्रिंग को दर्शाने के लिए भी कर सकती हैं।
इस सिंटैक्स पर विचार करें:
f"This is a string."
हमने अभी एक फॉर्मेटेड स्ट्रिंग लिटरल परिभाषित किया है। हम कर्ली ब्रैकेट्स का उपयोग करके स्ट्रिंग में मान जोड़ सकते हैं: {}।
कुछ लोग स्ट्रिंग फॉर्मेटिंग को स्ट्रिंग इंटरपोलेशन के रूप में संदर्भित करते हैं। ये दो अवधारणाएं एक ही विचार को संदर्भित करती हैं: एक मान को दूसरे स्ट्रिंग में जोड़ना।
आइए f-स्ट्रिंग के एक उदाहरण पर नज़र डालते हैं।
f-स्ट्रिंग पायथन उदाहरण
मान लीजिए हम "Lindsay Ballantyne" नाम को एक स्ट्रिंग में जोड़ना चाहते हैं। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:
name = "Lindsay Ballantyne"
print(f"Your name is {name}.")
हमारा कोड निम्न आउटपुट देता है:
Your name is Lindsay Ballantyne.
हमारे कोड में, हम "name" नामक एक वेरिएबल घोषित करते हैं जो हमारे उपयोगकर्ता का नाम संग्रहीत करता है। फिर, हम "Lindsay Ballantyne" मान को एक स्ट्रिंग में जोड़ने के लिए f-स्ट्रिंग का उपयोग करते हैं।
यह दर्शाता है कि आप सीधे f-स्ट्रिंग में वेरिएबल के मान को सम्मिलित कर सकते हैं। सिंटैक्स अन्य सभी फॉर्मेटिंग विकल्पों की तुलना में आसान है, जैसे format() विधि या % स्ट्रिंग।
बस इतना ही नहीं। f-स्ट्रिंग्स फ़ंक्शन या किसी अन्य एक्सप्रेशन का भी समर्थन कर सकती हैं, जिसका मूल्यांकन स्ट्रिंग के अंदर किया जाता है। मान लीजिए हम f-स्ट्रिंग में पायथन गणितीय फ़ंक्शन करना चाहते हैं। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:
name = "Lindsay Ballantyne"
print(f"Your name is {name}. On your next birthday, you will be {22 + 1}.")
हमारा कोड निम्न आउटपुट देता है:
Your name is Lindsay Ballantyne. On your next birthday, you will be 23.
हम एक गणितीय फ़ंक्शन करने में सक्षम थे।
ऐसा इसलिए है क्योंकि स्ट्रिंग लिटरल में एक्सप्रेशन रन-टाइम पर मूल्यांकन किए जाते हैं, और वे मुख्य प्रोग्राम का हिस्सा होते हैं। हमारा गणितीय फ़ंक्शन "22 + 1" था, जिसे हमने कर्ली ब्रैकेट्स के भीतर संलग्न करके किया था।
बहु-लाइन पायथन f-स्ट्रिंग्स
f-स्ट्रिंग सिंटैक्स बहु-लाइन स्ट्रिंग फॉर्मेटिंग का समर्थन करता है। आप कर्ली ब्रैकेट्स में कई f-स्ट्रिंग्स को संलग्न करके एक बहु-लाइन पायथन f-स्ट्रिंग बना सकते हैं।
मान लीजिए हम एक बहु-लाइन स्ट्रिंग में मानों को फॉर्मेट करना चाहते हैं। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:
name = "Lindsay Ballantyne"
email = "lindsay.ballantyne@gmail.com"
age = 22
profile = (
f"Name: {name} \n"
f"Email: {email} \n"
f"Age: {age} \n"
)
print(profile)
हमारा कोड निम्न आउटपुट देता है:
Name: Lindsay Ballantyne Email: lindsay.ballantyne@gmail.com Age: 22
हमारे कोड में, हमने तीन वेरिएबल घोषित किए — name, email, और age — जो हमारे उपयोगकर्ता के बारे में जानकारी संग्रहीत करते हैं। फिर, हमने एक बहु-लाइन स्ट्रिंग बनाई जो उन वेरिएबल्स का उपयोग करके फॉर्मेट की गई है।
ध्यान दें कि हमारे कोड में, हमने अपनी बहु-लाइन स्ट्रिंग में प्रत्येक पंक्ति से पहले एक f रखा। ऐसा इसलिए है क्योंकि, यदि आप प्रत्येक पंक्ति के सामने f नहीं रखते हैं, तो f-स्ट्रिंग सिंटैक्स का उपयोग नहीं किया जाएगा।
f-स्ट्रिंग विशेष वर्ण
अभी भी एक चीज है जिसे आपको अपने कोड में f-स्ट्रिंग्स का उपयोग करने से पहले सीखने की आवश्यकता है। आपको f-स्ट्रिंग्स के साथ विशेष वर्णों को कैसे संभालना है, यह जानने की आवश्यकता है।
यहां कुछ नियम दिए गए हैं जिन्हें आपको f-स्ट्रिंग्स का उपयोग करते समय ध्यान में रखना चाहिए।
उद्धरण चिह्न
जब आप f-स्ट्रिंग्स का उपयोग कर रहे होते हैं, तो आप अपने एक्सप्रेशन में उद्धरण चिह्नों का उपयोग कर सकते हैं। लेकिन, आपको अपने f-स्ट्रिंग के बाहर उपयोग किए जा रहे उद्धरण चिह्न से अलग प्रकार के उद्धरण चिह्न का उपयोग करने की आवश्यकता है। यहां f-स्ट्रिंग में उपयोग किए जा रहे उद्धरण चिह्नों का एक उदाहरण दिया गया है:
print(f"{'It is Thursday!'}")
हमारा कोड निम्न आउटपुट देता है:
It is Thursday
ध्यान दें कि हमने अपने f-स्ट्रिंग के अंदर (जिसे कर्ली ब्रेसिज़ द्वारा दर्शाया गया है) सिंगल कोट्स (') का उपयोग किया, और अपने पूर्ण स्ट्रिंग को दर्शाने के लिए डबल कोट्स (") का उपयोग किया।
शब्दकोश
पायथन शब्दकोश में किसी मान को संदर्भित करने के लिए, आपको उद्धरण चिह्नों का उपयोग करना होगा। आपको यह सुनिश्चित करना चाहिए कि आप अपने शब्दकोश में प्रत्येक मान को संदर्भित करते समय एक अलग प्रकार के उद्धरण चिह्न का उपयोग करते हैं।
यहां एक शब्दकोश और f-स्ट्रिंग के साथ काम करने का एक उदाहरण दिया गया है:
user = {"name": "Lindsay Ballantyne", "email": "lindsay.ballantyne@gmail.com"}
print(f"Hello, {user['name']}. Your email address is: {user['email']}.")
हमारा कोड निम्न आउटपुट देता है:
Hello, Lindsay Ballantyne. Your email address is: lindsay.ballantyne@gmail.com
ध्यान दें कि, जब हम अपने शब्दकोश में मानों का संदर्भ ले रहे होते हैं, तो हम सिंगल कोट्स ('') का उपयोग करते हैं। हमारा मुख्य f-स्ट्रिंग डबल कोट्स ("") का उपयोग करता है। यह हमारे कोड में किसी भी स्ट्रिंग फॉर्मेटिंग त्रुटि को उत्पन्न होने से रोकता है।
कर्ली ब्रेसिज़
f-स्ट्रिंग में कर्ली ब्रेस का उपयोग करने के लिए, आपको डबल ब्रेसिज़ का उपयोग करने की आवश्यकता है। यहां f-स्ट्रिंग में कर्ली ब्रेसिज़ का एक उदाहरण दिया गया है:
print(f"{{This is a test}}")
हमारा कोड निम्न आउटपुट देता है:
{This is a test}
आप देख सकते हैं कि हमारे अंतिम परिणाम में केवल एक सेट ब्रेसिज़ दिखाई दिया। ऐसा इसलिए है क्योंकि एक सेट ब्रेसिज़ का उपयोग f-स्ट्रिंग द्वारा यह दर्शाने के लिए किया जाता है कि स्ट्रिंग फॉर्मेटिंग होने वाली है। इसलिए, आपके कर्ली ब्रेसिज़ के अंदर केवल एक सेट ब्रेसिज़ दिखाई देगा।
टिप्पणियाँ
जब आप f-स्ट्रिंग लिख रहे होते हैं, तो आपके f-स्ट्रिंग में हैशटैग (#) चिह्न शामिल नहीं होना चाहिए। यह चिह्न पायथन में एक टिप्पणी को दर्शाता है, और सिंटैक्स त्रुटि का कारण बनेगा।
यदि आप किसी स्ट्रिंग में हैशटैग का उपयोग करना चाहते हैं, तो सुनिश्चित करें कि यह f-स्ट्रिंग के बजाय स्ट्रिंग में फॉर्मेट किया गया है। यहां इसका एक उदाहरण दिया गया है:
user_id = "202"
print(f"User ID: #{user_id}")
हमारा कोड निम्न आउटपुट देता है:
User ID: #202
हमने अपने f-स्ट्रिंग कर्ली ब्रेसिज़ से पहले अपना हैशटैग जोड़ा। हमने यह सुनिश्चित करने के लिए किया कि हमारा हैशटैग हमारी स्ट्रिंग में सही ढंग से दिखाई दे।
निष्कर्ष
पायथन f-स्ट्रिंग्स एक नया टूल है जिसका उपयोग आप स्ट्रिंग लिटरल के अंदर एक्सप्रेशन डालने के लिए कर सकते हैं।
pिछले विकल्पों पर f-स्ट्रिंग्स का उपयोग करने के कई फायदे हैं। f-स्ट्रिंग्स पढ़ने में आसान हैं। वे तब भी अच्छा काम करते हैं जब आप कई मानों के साथ काम कर रहे हों।
इस ट्यूटोरियल ने उदाहरणों के संदर्भ में चर्चा की कि f-स्ट्रिंग्स अन्य स्ट्रिंग फॉर्मेटिंग विकल्पों की तुलना कैसे करती हैं, और अपने कोड में f-स्ट्रिंग्स का उपयोग कैसे करें। अब आपके पास पायथन f-स्ट्रिंग्स के साथ एक पेशेवर डेवलपर की तरह काम करना शुरू करने के लिए आवश्यक ज्ञान है!
यदि आप पायथन के बारे में अधिक जानना चाहते हैं, तो हमारा How to Learn Python गाइड देखें।