String Formatting Expression in Python में हम % Operator जो कि Modulus या Reminder Operator भी कहलाता है, को हम String Formatting के लिए Control String की तरह Use कर सकते हैं जिसकी वजह से हमें String Concatenation के लिए अलग-अलग String Objects को Plus (+) Operator का अथवा Multiple Quotes का प्रयोग करना जरूरी नहीं होता। बल्कि हम एक Single String Create कर सकते हैं और उस String में जरूरत के अनुसार Specific %Template को Literal अथवा Variables की Values से Set करते हुए Dynamic String Create कर सकते हैं।
इस String Formatting Expression को Use करते समय String के हमेंशा दो हिस्से होते हैं। पहले हिस्से में हम % का प्रयोग करते हुए Templates या Markers Specify करते हैं जबकि दूसरे हिस्से में हम उन Templates या Markers के स्थान पर Replace होने वाली Values को Specify करते हैं और दोनों हिस्सों को % Operator का प्रयोग करते हुए ही आपस में Connect भी करते हैं। इस तरह से एक Simple Formatting String का Syntax कुछ निम्नानुसार होता है-
name = “KRISHNA”
“Hello! %s. How are you?” % (name)
यदि हमें एक से ज्यादा Values को Represent करना हो, तो यही Syntax कुछ निम्नानुसार हो जाता है-
name = “KRISHNA”
age = 26
“My Name is! %s and I am %d old” % (name, age)
तकनीकी रूप से कहें तो String Formatting Expression पूरी तरह से Optional है और हम Multiple Quotes के माध्यम से Multiple Concatenation का प्रयोग करते हुए भी String Create कर सकते हैं। अन्तर केवल इतना है कि Formatting Expression का प्रयोग करके हम एक ही Statement में Multiple String Operations Perform करने की सुविधा प्राप्त कर लेते हैं।
यहां इस बात को ध्यान रखना जरूरी है कि Formatting Expression से भी हर बार एक नया String Create होता है। साथ ही इस Formatting Expression का प्रयोग करके हम एक ही String में Multiple Types के Objects की Values को एक Single Statement द्वारा एक Single String Object में Embed कर सकते हैं।
जब हम String Formatting Expression का प्रयोग करते हुए String Create करते हैं, तब हमें विभिन्न %Templates के साथ उनका Core Type भी Specify करना जरूरी होता है और Core Types को Represent करने के लिए हमें C Language की तरह ही कुछ निश्चिचत Control Strings को Use करना पड़ता है।
यानी %Template के साथ ही हमें ये भी बताना पड़ता है कि उस %Template के स्थान पर जो Data Expand होगा, उसका Type क्या होगा और Python में Supported विभिन्न Core Types को निम्न सारणी द्वारा बेहतर तरीके से जाना जाा सकता है जो कि लगभग C Language के Control Strings के समान ही हैं-
Code | Meaning |
s | String (or any object’s str(X) string) |
r | Same as s, but uses repr, not str |
c | Character (int or str) |
d | Decimal (base-10 integer) |
i | Integer |
u | Same as d (obsolete: no longer unsigned) |
o | Octal integer (base 8) |
x | Hex integer (base 16) |
X | Same as x, but with uppercase letters |
e | Floating point with exponent, lowercase |
E | Same as e, but uses uppercase letters |
f | Floating-point decimal |
F | Same as f, but uses uppercase letters |
g | Floating-point e or f |
G | Floating-point E or F |
% | Literal % (coded as %%) |
इस प्रकार से अब यदि हम इस String Formatting Expression के सम्पूर्ण Syntax को Specify करें, तो ये Syntax कुछ निम्नानुसार होता है:
%[(keyname)] [flags] [width] [.precision]typecode
इस Syntax में सबसे Right Side में Specify किया गया typecode वह Character Code है, जिसे उपरोक्त सारणी में Specify किया गया है। ये typecode Python को ये Indication देता है कि उस Particular %Template की जगह पर किस Data Type का Data Place होगा। जबकि % व typecode के बीच हम निम्नानुसार कई अन्य तरह के Operations को Specify करते हुए अपनी String को कई तरीकों से Format कर सकते हैं-
keyname:
जब हम किसी Dictionary Object के किसी Key से सम्बंधित Value को %Template के स्थान पर Expand करना चाहते हैं, तब Keyname के स्थान पर हमें उस Dictionary के किसी Key को Specify करना होता है।
flags:
इस स्थान पर हम String को Left Justify करने के लिए Minus (-) Sign, Numeric Sign के लिए Plus (+) Sign, Positive Numbers के लिए एक Blank Space और Negative Numbers के लिए Minus Sign तथा Spaces के स्थान पर Zero Fills करने के लिए (0) का प्रयोग करते हैं।
width:
इस स्थान पर हम हमारी String की कुल Screen Character Width को Specify करते हैं। यानी यदि हमें हमारी पूरी String को Screen पर 50 Characters की Width में ही Display करना है, तो इस width के स्थान पर हम 50 लिखते हैं।
precision:
जब हम String Value के साथ Precision को Specify करते हैं, तब हम Python को ये Instruction दे रहे होते हैं कि Display हो सकने वाली पूरी String में से अधिकतम कितने Characters Display होंगे।
इस Syntax के width व precision Part को हम * भी लिख सकते हैं जिसका मतलब ये होता है कि ये अपनी सम्पूर्ण String को Display करेंगे।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Python in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।
Python in Hindi | Page: 602 | Format: PDF