String Formatting in Python

String Formatting in Python – Python हमें किसी String की Formatting करने की भी सुविधा देता है, ताकि हम हमारी जरूरत के अनुसार किसी String को किसी Expression के आधार पर Dynamically भी Modify कर सकें और इसके लिए हमें % Symbol या Curly Braces { } का प्रयोग करना पड़ता है। इसे समझने का सबसे आसान तरीका यही है कि हम एक Simple सा Example Program Create कर लें, जो कि निम्‍नानुसार है:


FileNameStringFormatting.py
name = input("What is your Name: ")
fruit = input("What fruit you like most? ")

print()

# Replace Value of name and fruit at %s Symbol
print("Hello! %s. Would you like to take some %s" %(name, fruit))

# Replace Value of name and fruit at specified {position_number}
print("Hello! {0}. Would you like to take some {1}".format(name, fruit))
print("Hello! {1}. Would you like to take some {0}".format(fruit, name))

# Replace Value of name and fruit at default {position_number}
print("Hello! {}. Would you like to take some {}".format(name, fruit))

Output
    What is your Name: Kuldeep
    What fruit you like most? Pineapple
    Hello! Kuldeep. Would you like to take some Pineapple
    Hello! Kuldeep. Would you like to take some Pineapple
    Hello! Kuldeep. Would you like to take some Pineapple
    Hello! Kuldeep. Would you like to take some Pineapple

इस Example में सबसे पहले हमने दो String User Inputs लिए हैं और फिर उन Input के रूप में आए हुए Text Data को String में तीन अलग तरीकों से Dynamically Specify किया है, जिसके परिणामस्‍वरूप User जो भी Name व Fruit Input करता है, Output का Greeting Message उसी के अनुरूप बदल जाता है।

इय Example के किसी भी print() Function में हमने Comma Separated Message List का प्रयोग नहीं किया है, बल्कि पहले print() Statement के String Message में हमने %s Specify किया है और उस %s के स्‍थान पर क्‍या String Replace होना चाहिए, उसे %() के Parenthesis के बीच Specify किया है।

चूंकि इस Statement द्वारा हम एक String Value को String Message में Dynamically Place कर रहे हैं, इसीलिए हमने % Symbol के साथ String Representative Character “s” को Add करते हुए %s लिखा है। जबकि यदि हमें Integer Value को String Message में Dynamically Place करना हो, तो उस स्थिति में हमें %d और Floating Point Value को String Message में Dynamically Place करना हो, तो %f Use करना पड़ता है, जो कि C/C++ Programming Language के Control String के समान ही है।

ठीक इसी तरीके से हमने चौथे print() Statement को भी Specify किया है, लेकिन चौथे print() Statement में हमने Blank Curly Braces को Specify किया है और Double Quotes के अन्‍त में Method Chaining करते हुए format() Method द्वारा उन String Parameters को Specify किया है, जिन्‍हें हमें Message के Blank Curly Braces के बीच Replace करना है।

अब पहले और चौथे print() Function में Specified तरीके में मूल अन्‍तर ये है कि पहले तरीके में हमें Explicitly ये बताना पड़ता है कि हम किस Data Type के मान को Message में Dynamically Place करना चाहते हें जबकि चौथे तरीके में हमें कोई Data Type बताने के जरूरत नहीं है, बल्कि .format() Method के Parenthesis में जो भी मान Specify किए जाऐंगे, क्रम से वे ही मान Left to Right Direction में प्रत्‍येक Curly Braces के स्‍थान पर Fill हो जाऐंगे।

इस तरह से पहले print() Statement में Use किए गए % Symbol वाले तरीके की तुलना में चौथे print() Statement में Use किए गए Curly Braces { } Symbol वाला तरीका ज्‍यादा आसान है, क्‍योंकि इस तरीके में हमें Explicitly Data Type नहीं बताना पड़ता, इसलिए हमारे Code में गलत Control String Specify करने से होने वाले Typing Mistake की सम्‍भावना नहीं रह जाती है।

लेकिन इन दोनों ही तरीकों में Parenthesis के बीच Enclosed Comma Separated Data उसी क्रम में Message में Place होते हैं, जिस क्रम में उन्‍हें Parenthesis के बीच Specify किया गया होता है। जबकि दूसरा तरीका हमें ये सुविधा देता है कि हम Curly Braces के बीच उस Data Value का Index Number Specify कर सकते हैं जिसे किसी Specific Position पर Display करना चाहते हैं, जबकि इस बात से कोई फर्क नहीं पड़ता कि हमने Parenthesis के बीच Data को किस क्रम में लिखा है।

यानी हम इस Example Program के दूसरे print() Function के String को निम्‍नानुसार तरीके से भी Format कर सकते हैं-


print("Hello! {1}. Would you like to take some {0}".format(fruit, name))

जहां हम Curly Braces में जिस Index Number को Specify करते हैं, Parenthesis से उसी Index Number पर Positioned Data उस Curly Brace की Location पर Place हो जाता है।

इतना ही नहीं, हम चाहें तो इस Formatting पर String Range से सम्‍बंधित सभी अन्‍य Formatting Rules को भी Apply कर सकते हैं।  जैसे-


# Separators, Decimal Digits
'{:,.2f}'.format(296999.2567)           #Output: '296,999.26'

# Digits, Padding, Signs
'%.2f | %+05d' % (3.14159, −42)         #Output: '3.14 | −0042'
(String Formatting in Python in Hindi in Hindi)
Method Chaining in Python
dir() Function in Python

Python in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Python in Hindi | Page: 602 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Special Discount Offer

खरीदिए एक से ज्‍यादा EBooks, और पाईए ₹100 से ₹1200 तक का Extra Cash Discount

Discount Coupon Codes