इस ट्यूटोरियल का कोड ऑनलाइन चलाएं और संपादित करें
कोड चलाएं1.1. सिंटैक्स
हर f-string स्टेटमेंट दो भागों से मिलकर बना होता है: एक तो अक्षर f या F, और दूसरा वह स्ट्रिंग जिसे हमें फ़ॉर्मेट करना है। स्ट्रिंग को सिंगल, डबल या ट्रिपल कोट्स में रखा जाता है।
आइए सिंटैक्स देखते हैं।
## we can also use F, '', ''''', """"""'
f"string"
string की जगह पर हमें अपना वाक्य रखना है जिसे फ़ॉर्मेट करना है।
2. वैरिएबल्स दिखाना
पहले हम स्ट्रिंग्स को फ़ॉर्मेट करने के लिए अक्सर str.format() मेथड का उपयोग करते थे। लेकिन अब हमारे पास एक नई विधि है जो हमारे काम को दोगुना तेज़ बना देती है।
कर्ली { } ब्रेसेज़ में रखे गए वैरिएबल्स आउटपुट में वैसे ही दिखते हैं जैसे सामान्य print स्टेटमेंट करता है। एक उदाहरण देखते हैं।
## declaring variables
name = "Datacamp"
type_of_company = "Educational"
## enclose your variable within the {} to display it's value in the output
print(f"{name} is an {type_of_company} company.")
Datacamp is an Educational company.
हमें आउटपुट में वैरिएबल्स के मान मिल गए। देखा, यह कितना आसान है। हम f की जगह F भी लिख सकते हैं।
## declaring variables
name = "Datacamp"
type_of_company = "Educational"
## enclose your variable within the {} to display it's value in the output
print(F"{name} is an {type_of_company} company.")
Datacamp is an Educational company.
f छोटा हो या बड़ा, दोनों एक जैसा काम करते हैं।
3. एक्सप्रेशंस
क्या हम किसी स्ट्रिंग के भीतर अंकगणित, फ़ंक्शन कॉल आदि जैसे एक्सप्रेशंस का मूल्यांकन कर सकते हैं? बढ़िया होगा, है ना! जी हाँ! स्ट्रिंग के अंदर एक्सप्रेशंस का उपयोग करना काफी रोचक है। f-string हमें स्ट्रिंग के अंदर एक्सप्रेशंस का मूल्यांकन करने देती है।
सिर्फ एक्सप्रेशन को { } के अंदर रखें। f-string इसका मूल्यांकन प्रोग्राम के रनटाइम पर करती है। यह एक बेहतरीन फ़ीचर है जो समय और कोड दोनों बचाता है।
आइए अलग-अलग प्रकार के एक्सप्रेशंस के उदाहरण देखें।
## arithmetic expression
print(f"{5 * 5}")
25
हम { } के अंदर फ़ंक्शंस भी कॉल कर सकते हैं। एक फ़ंक्शन greet() परिभाषित करते हैं और उसे f-string में कॉल करते हैं।
def greet(name):
return "Hello, " + name
## calling the function using f-string
name = "Datacamp"
print(f"{greet(name)}")
Hello, Datacamp
इसी तरह हम बिल्ट-इन मेथड्स भी कॉल कर सकते हैं। देखें:
## calling the 'title' method which makes the first letter of every word upper
string = "datacamp is an educational company."
print(f"{string.title()}")
Datacamp Is An Educational Company.
हम f-string से और क्या कर सकते हैं? क्या हम ऑब्जेक्ट भी दिखा सकते हैं? हाँ, बिल्कुल। यह वैरिएबल्स का आउटपुट दिखाने जैसा ही है।
class Sample:
def __init__(self, name, age):
self.name = name
self.age = age
## this method will be called when we print the object
def __str__(self):
return f'{self.name} is {self.age} years old.'
john = Sample("John", 19)
## it'll wake up the __str__() method
print(f"{john}")
John is 19 years old.
4. विशेष अक्षर
अगर हमें {}, \', \" जैसे विशेष अक्षर दिखाने हों, जिनका Python में अंदरूनी तौर पर खास अर्थ होता है, तो क्या करें? क्या हम f-string के अंदर एस्केप कैरेक्टर का उपयोग कर सकते हैं? आइए इन सवालों के जवाब देखते हैं।
4.1. उद्धरण-चिह्न
हम f-string में किसी भी प्रकार के उद्धरण-चिह्न {सिंगल या डबल या ट्रिपल} का उपयोग कर सकते हैं। उद्धरण-चिह्नों को प्रिंट करने के लिए हमें एस्केप कैरेक्टर का उपयोग करना होगा। f-string एक्सप्रेशन के अंदर बैकस्लैश की अनुमति नहीं है। हमें इसे { } के बाहर रखना होगा।
इसे उदाहरणों से समझते हैं।
name = "Datacamp"
## displaying single quotations
print(f"Hello, \'{name}\'")
print()
## displaying double quotations
print(f"Hello, \"{name}\"")
Hello, 'Datacamp'
Hello, "Datacamp"
f-strings में अन्य प्रकार के उद्धरण भी देखते हैं।
f'{"Hello, Datacamp"}'
'Hello, Datacamp'
f"{'Hello, Datacamp'}"
'Hello, Datacamp'
f"""Hello, Datacamp"""
'Hello, Datacamp'
f'''Hello, Datacamp'''
'Hello, Datacamp'
हम ट्रिपल कोट्स के भीतर { } भी शामिल कर सकते हैं।
f-string में { } के भीतर बैकस्लैश का उपयोग नहीं कर सकते। अगर उन्हें { } के अंदर रखा गया तो एरर आएगा।
print(f"{\"Datacamp\"}")
File "<ipython-input-60-b9a2502d6274>", line 1
print(f"{\"Datacamp\"}")
^
SyntaxError: f-string expression part cannot include a backslash
4.2. ब्रेसेज़
f-string के जरिए ब्रेसेज़ प्रिंट करने के लिए हमें डबल सेट ब्रेसेज़ का उपयोग करना होगा। उदाहरण देखें।
print(f"{{Datacamp}}")
{Datacamp}
अगर आप f-string से दो सेट ब्रेसेज़ दिखाना चाहते हैं, तो आपको चार सेट ब्रेसेज़ का उपयोग करना होगा।
print(f"{{{{Datacamp}}}}")
{{Datacamp}}
5. डिक्शनरीज़
f-string में डिक्शनरी कीज़ के साथ काम करते समय थोड़ी सावधानी ज़रूरी है। आपको डिक्शनरी की और f-string के लिए अलग प्रकार के उद्धरण-चिह्नों का उपयोग करना होगा। यदि f-string और डिक्शनरी कीज़ दोनों के लिए एक ही प्रकार के उद्धरण-चिह्न लगाएंगे, तो अनुमति नहीं होगी।
person = {"name": "John", "age": 19}
print(f"{person['name']} is {person['age']} years old.")
John is 19 years old.
डिक्शनरी के मामले में आप इसे नीचे दिए गए तरीके से उपयोग नहीं कर सकते।
person = {"name": "John", "age": 19}
print(f'{person['name']} is {person['age']} years old.')
File "<ipython-input-65-6849ff0810ae>", line 2
print(f'{person['name']} is {person['age']} years old.')
^
SyntaxError: invalid syntax
निष्कर्ष
आशा है कि आपने इस ट्यूटोरियल से Python में कुछ नया सीखा होगा। स्ट्रिंग्स और पिछली फ़ॉर्मेटिंग तकनीकों के बारे में और जानने के लिए Datacamp पर यह ट्यूटोरियल देखें। साथ ही DataCamp का Regular Expressions in Python कोर्स भी देखें।
हैप्पी कोडिंग :)
1. परिचय
स्ट्रिंग फ़ॉर्मेटिंग क्या है?
स्ट्रिंग फ़ॉर्मेटिंग वह प्रक्रिया है जिसमें आप किसी प्रोग्रामिंग भाषा द्वारा उपलब्ध कराए गए फ़ॉर्मेटिंग तरीकों से अपनी स्ट्रिंग को सुसज्जित तरीके से प्रस्तुत करते हैं। Python में स्ट्रिंग फ़ॉर्मेटिंग की कई तकनीकें हैं। अब हम नई f-string फ़ॉर्मेटिंग तकनीक को समझेंगे।
f-string का मूल्यांकन प्रोग्राम के रनटाइम पर होता है। यह पिछले तरीकों की तुलना में तेज़ है।
Python की पिछली स्ट्रिंग फ़ॉर्मेटिंग तकनीकों की तुलना में f-string का सिंटैक्स आसान है। हम अलग-अलग उदाहरणों के माध्यम से इस फ़ॉर्मेटिंग के हर पहलू को समझेंगे।