Python में dynamic values के साथ strings बनाने के कई तरीके हैं। आधुनिक और अनुशंसित तरीका f-string (formatted string literal) है, जो Python 3.6 में पेश किया गया।
f-strings — आधुनिक डिफ़ॉल्ट
name =
age =
msg =
f prefix आपको {} के अंदर सीधे expressions embed करने देता है — संक्षिप्त, पठनीय और तेज़। आधुनिक Python में यह पसंदीदा तरीका है।
f"{3.14159:.2f}" # "3.14" — 2 decimal places
f"{1000000:,}" # "1,000,000" — thousands separator
f"{0.85:.1%}" # "85.0%" — percentage
f"{42:05d}" # "00042" — pad with zeros to width 5
f"{'hi':>10}" # " hi" — right-align in width 10
f"{'hi':^10}" # " hi " — center
value के बाद आने वाला :spec precision, padding, alignment और number formatting को नियंत्रित करता है — साफ़ आउटपुट के लिए शक्तिशाली।
f"{name=}" # "name='Ann'" — prints both the expression AND value
= त्वरित debugging के लिए उपयोगी है — यह variable का नाम और उसका value दोनों दिखाता है।
"{} is {}".format(name, age) # str.format() — pre-f-string standard
"%s is %d" % (name, age) # %-formatting — old C-style (avoid in new code)
name + " is " + str(age) # concatenation — verbose, error-prone
.format() पुराने code में अभी भी आम है; %-formatting legacy है; raw concatenation को हतोत्साहित किया जाता है (verbose और manual str() conversion की आवश्यकता होती है)।
String formatting की लगातार आवश्यकता होती है — messages, logs, output, queries बनाने में।
F-strings आधुनिक, पठनीय और कुशल मानक हैं, और इनके format specifiers (precision, padding, alignment, separators) को जानने से आप verbose code के बिना साफ़, पेशेवर आउटपुट तैयार कर सकते हैं।
पुराने .format() और % styles को पहचानना मौजूदा codebases को पढ़ते समय मदद करता है।
f-strings का अच्छा उपयोग स्पष्ट, idiomatic Python लिखने का एक छोटा लेकिन व्यापक हिस्सा है।