Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में डेटा मानों को स्ट्रिंग्स में कैसे इंटरपोलेट करें?

हम विभिन्न स्वरूपों का उपयोग करके डेटा मानों को स्ट्रिंग्स में इंटरपोलेट कर सकते हैं। हम इसका उपयोग कोड को कम करने, रिपोर्ट, फॉर्म और अन्य आउटपुट तैयार करने के लिए कर सकते हैं। इस विषय में, हम स्ट्रिंग्स को फ़ॉर्मेट करने के तीन तरीके देखेंगे और डेटा मानों को स्ट्रिंग्स में कैसे इंटरपोलेट करें।

पायथन में स्ट्रिंग्स को फ़ॉर्मेट करने के तीन तरीके हैं:

  • % - पुराना स्कूल (पायथन 2 और 3 में समर्थित)

  • () - नई शैली (पायथन 2.6 और ऊपर)

  • {} - एफ-स्ट्रिंग्स (पायथन 3.6 और ऊपर)

पुरानी शैली:%

स्ट्रिंग स्वरूपण की पुरानी शैली का स्वरूप format_string% डेटा है। प्रारूप तार कुछ और नहीं बल्कि प्रक्षेप अनुक्रम हैं।

<थेड>
वाक्यविन्यास
<वें शैली ="पाठ-संरेखण:केंद्र">विवरण
%s
स्ट्रिंग
%d
दशमलव
%x
hexa-int
%o
octal-int
%f
दशमलव-फ्लोट
%e
exponential-float
%g
दशमलव या घातांक-फ्लोट
%%
शाब्दिक %


# printing integer with % style type.
print('output \nprinting a number in string format %s' % 42)
print('printing a number in string decimal %d' % 42)
print('printing a number in string hexa-int %x' % 42)
print('printing a number in string exponential-float %g' % 42)

आउटपुट

printing a number in string format 42
printing a number in string decimal 42
printing a number in string hexa-int 2a
printing a number in string exponential-float 42

स्ट्रिंग और पूर्णांक इंटरपोलेशन पुराने प्रारूप% के साथ

स्ट्रिंग के अंदर %s का अर्थ है एक स्ट्रिंग को इंटरपोलेट करना। स्ट्रिंग में % उपस्थिति की संख्या को स्ट्रिंग के बाद % के बाद डेटा आइटम्स की संख्या से मेल खाना चाहिए।

एक एकल डेटा आइटम उस अंतिम% के ठीक बाद करता है। एकाधिक डेटा को एक टुपल में समूहीकृत किया जाना चाहिए, नीचे उदाहरण देखें।

आप न्यूनतम और अधिकतम चौड़ाई, संरेखण, और वर्ण भरने को निर्दिष्ट करने के लिए % और प्रकार विनिर्देशक के बीच प्रारूप स्ट्रिंग में अन्य मान भी जोड़ सकते हैं।

1. + means right-align
2. - means left-align
3. . means separate minwidth and maxchars.
4. minwidth means mimimu field width to use
5. maxchars means how many characters/digits to print from the data value


player = 'Roger Federer'
country = 'Legend'
titles = 20

# note please try this only on Python 2. If you are running on Python3 output for below commands will vary a lot.

print('Output \n*** Tennis player %s From %s had won %d titles ' %(player,country,titles))
print('%s' % player) # print player
print('%5s' % player) # print firstname of player
print('%-7s' % player) # Last Name of player
print('%5.7s' % player) # Last Name of player with 5 leading spaces

आउटपुट

*** Tennis player Roger Federer From Legend had won 20 titles
Roger Federer
Roger Federer
Roger Federer
Roger F

नई शैली के साथ स्ट्रिंग और पूर्णांक इंटरपोलेशन:{}

यदि आप पायथन 3.5 या उच्चतर संस्करण का उपयोग कर रहे हैं, तो आप नीचे दिए गए अनुभाग में वर्णित "नई शैली" स्वरूपण का उपयोग कर सकते हैं।

“{}” फ़ॉर्मेटिंग का सिंटैक्स format_string.format (डेटा) है।

याद रखें, प्रारूप () फ़ंक्शन के तर्कों को प्रारूप स्ट्रिंग में {} प्लेसहोल्डर के रूप में क्रम में होना चाहिए। कभी-कभी अधिक पढ़ने की क्षमता के लिए आप डिक्शनेयर या प्रारूप में नामित तर्क पारित कर सकते हैं।

player = 'Roger Federer'
player = 'Roger_Federer'
country = 'Legend'
titles = 20

print('Output \n{}'.format(player))
print(' *** Tennis player {} From {} had won {} titles '.format(player,country,titles))

# positonal arguments
print(' *** Tennis player {1} From {2} had won {0} titles '.format(titles,player,country))

# named arguments
print(' *** Tennis player {player} From {country} had won {titles} titles '.format(player = 'Roger Federer',country = 'Legend',titles = 20))

# Dictionary arguments
print(' *** Tennis player {player} From {country} had won {titles} titles '.format(player = 'Roger Federer',country = 'Legend',titles = 20))

# alignment left '<' (default)
print(' *** Tennis player {} From {:<5s} had won {:<5d} titles '.format(player,country,titles))

# alignment left '<' (default)
print(' *** Tennis player {} From {:<5s} had won {:<5d} titles '.format(player,country,titles))

# alignment center '^'
print(' *** Tennis player {} From {:^10s} had won {:^10d} titles '.format(player,country,titles))

# alignment right '>'
print(' *** Tennis player {} From {:>10s} had won {:>10d} titles '.format(player,country,titles))
जीते थे


आउटपुट

Roger_Federer
*** Tennis player Roger_Federer From Legend had won 20 titles
*** Tennis player Roger_Federer From Legend had won 20 titles
*** Tennis player Roger Federer From Legend had won 20 titles
*** Tennis player Roger Federer From Legend had won 20 titles
*** Tennis player Roger_Federer From Legend had won 20 titles
*** Tennis player Roger_Federer From Legend had won 20 titles
*** Tennis player Roger_Federer From Legend had won 20 titles
*** Tennis player Roger_Federer From Legend had won 20 titles

नवीनतम शैली के साथ स्ट्रिंग और पूर्णांक इंटरपोलेशन:f-स्ट्रिंग्स

f-strings Python 3.6 में दिखाई दिए, और जल्द ही स्ट्रिंग्स को फ़ॉर्मेट करने का अनुशंसित तरीका बन गया। व्यक्तिगत रूप से मैं, इस प्रारूप का उपयोग करता हूं। एफ-स्ट्रिंग बनाने के लिए:

1. आरंभिक/आरंभिक उद्धरण से पहले अक्षर f/F का प्रयोग करें।
2. स्ट्रिंग में उनके मान प्राप्त करने के लिए कर्ली ब्रैकेट्स ({}) में वैरिएबल नाम या एक्सप्रेशन शामिल करें।

player = 'Roger_Federer'
country = 'Legend'
titles = 20

print(f"Output \n *** Tennis player {player} From {country} had won {titles} titles ")
print(f" *** I hope {player} wins another {titles - 10} titles ")
print(f" {'*' * 3} Tennis player {player.upper()} From {country:.^10} had won {titles} titles")

आउटपुट

*** Tennis player Roger_Federer From Legend had won 20 titles
*** I hope Roger_Federer wins another 10 titles
*** Tennis player ROGER_FEDERER From ..Legend.. had won 20 titles

अब जब हमने बुनियादी बातों को कवर कर लिया है, तो आइए कुछ वास्तविक समय की समस्या पर जाएं और मैं फ़ॉर्मेट किए गए स्ट्रिंग्स का उपयोग शुरू करने की सलाह क्यों देता हूं।

titles = [
('federer', 20),
('nadal', 20),
('djokovic', 17),
]
print('Output\n')
for i, (player, titles) in enumerate(titles):
print('#%d: %-10s = %d' % (
i + 1,
player.title(),
round(titles)))

आउटपुट

#0: federer = 20
#1: nadal = 20
#2: djokovic = 17

जाहिर है, जब हायर अप को एक रिपोर्ट भेजना 0 से शुरू होने वाले इंडेक्स को नहीं देखना चाहता, तो वे 1 से शुरू करना चाहते थे। रोजर फेडरर टेनिस के एक दिग्गज होने के नाते, मैं व्यक्तिगत रूप से #0 के बजाय # 1 के रूप में उनका प्रतिनिधित्व करना चाहता था।

अब उस परिवर्तन को करने के लिए, देखें कि पुराने प्रारूपों का उपयोग करते समय कोड की पढ़ने की क्षमता कैसे बदलती है।

titles = [
('federer', 20),
('nadal', 20),
('djokovic', 17),
]
print('Output\n')
for i, (player, titles) in enumerate(titles):
print('#%d: %-10s = %d' % (
i + 1,
player.title(),
round(titles)))

आउटपुट

#1: Federer = 20
#2: Nadal = 20
#3: Djokovic = 17

समाप्त करने के लिए, मैंने यह दिखाने के लिए एक उदाहरण प्रदान किया है कि एफ-स्ट्रिंग को प्रबंधित करना अधिक आसान क्यों है।

old_school_formatting = (
' Tennis Legeng is %(player)s, '
' %(player)s had won %(titles)s titles, '
'and he is from the country %(country)s.')
old_formatted = old_school_formatting % {
'player': 'Roger Federer',
'titles': 20,
'country': 'Swiss',
}
print('Output\n' + old_formatted)

आउटपुट

Tennis Legeng is Roger Federer, Roger Federer had won 20 titles, and he is from the country Swiss.


new_formatting = (
' Tennis Legeng is {player}, '
' {player} had won {titles} titles, '
'and he is from the country {country}')
new_formatted = new_formatting.format(
player= 'Roger Federer',
titles= 20,
country= 'Swiss',
)
print('Output\n' + new_formatted)

आउटपुट

Tennis Legeng is Roger Federer, Roger Federer had won 20 titles, and he is from the country Swiss

यह शैली थोड़ी कम शोर वाली है क्योंकि यह शब्दकोश . में कुछ उद्धरण हटा देती है और प्रारूप विनिर्देशकों में काफी कुछ वर्ण हैं, लेकिन यह शायद ही सम्मोहक है।


  1. Matplotlib के लिए डेटा मानों को रंग जानकारी में कैसे परिवर्तित करें?

    Matplotlib के लिए डेटा मानों को रंग जानकारी में बदलने के लिए, हम निम्नलिखित कदम उठा सकते हैं - आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें। rc मानों के लिए डिफ़ॉल्ट, एक कॉलोरमैप इंस्टेंस प्राप्त करें अगर *नाम* है कोई नहीं । यादृच्छिक मान बनाएं जिन्हें रंग जानकारी में बदला

  1. पायथन में विकिपीडिया डेटा कैसे निकालें?

    इस लेख में, हम देखेंगे कि पायथन का उपयोग करके विकिपीडिया डेटा कैसे निकाला जाता है। वेबसाइटों से मेटा जानकारी प्राप्त करने के लिए वेब स्क्रैपर्स बनाने के लिए पायथन का व्यापक रूप से उपयोग किया जाता है। इस लेख के लिए, हम विकिपीडिया स्रोत यूआरएल से डेटा प्राप्त करने के लिए विकिपीडिया एपीआई और पुस्तकालय

  1. पायथन में चार्ट में किंवदंतियों को कैसे जोड़ें?

    परिचय... चार्ट का मुख्य उद्देश्य डेटा को आसानी से समझना है। एक तस्वीर एक हजार शब्दों के बराबर होती है का अर्थ है जटिल विचार जिन्हें शब्दों में व्यक्त नहीं किया जा सकता है उन्हें एक छवि/चार्ट द्वारा व्यक्त किया जा सकता है। बहुत सारी जानकारी के साथ ग्राफ़ बनाते समय, प्रस्तुत डेटा की समझ को बेहतर बना