का उपयोग करके मैं अंत में 0xसे .format()
स्ट्रिंग स्वरूपण ऑपरेटर से अपने 2.x कोड में स्विच कर रहा हूं ताकि भविष्य में 3.x पर माइग्रेट करना आसान हो सके। यह पता लगाने में थोड़ा आश्चर्य हुआ कि न केवल %
- स्टाइल स्वरूपण Py3 में बना हुआ है, लेकिन इसका व्यापक रूप से मानक लाइब्रेरी कोड में उपयोग किया जाता है। यह तार्किक लगता है, क्योंकि '(%s)' % variable
लिखना थोड़ा छोटा और '({})'.format(variable)
से समझना आसान हो सकता है। लेकिन मुझे अभी भी संदेह है। कोड में दोनों दृष्टिकोणों का उपयोग करने के लिए यह उचित (पायथनिक?) है? धन्यवाद।पायथन 3:% s और .format()
उत्तर
पायथन 3.2 दस्तावेज ने कहा कि, %
अंत में चलेगा।
http://docs.python.org/3.2/tutorial/inputoutput.html#old-string-formatting
str.format()
के बाद से, काफी नया है पायथन कोड का एक बहुत अभी भी%
ऑपरेटर का उपयोग करता है। हालांकि, क्योंकि स्वरूपण की यह पुरानी शैली अंततः भाषा से हटा दी जाएगी,str.format()
आमतौर पर का उपयोग किया जाना चाहिए।
लेकिन जैसे @regilero says, वाक्य 3.3 से चला गया है, जो यह वास्तव में ऐसा नहीं है सुझाव दे सकता है। कुछ बातचीत here हैं जो एक ही चीज़ का सुझाव देते हैं।
Python 3.4 the paragraph 7.1.1 के रूप में पढ़ता है:
% ऑपरेटर भी स्ट्रिंग प्रारूपण के लिए इस्तेमाल किया जा सकता। यह का अर्थ है, बाएं तर्क को एक sprintf() - शैली प्रारूप स्ट्रिंग की तरह सही तर्क पर लागू किया गया है, और इस स्वरूपण ऑपरेशन से उत्पन्न स्ट्रिंग देता है।
उत्तर देने के लिए बहुत बहुत धन्यवाद, व्लाद। दरअसल, वे कहते हैं कि प्रलेखन में, लेकिन 3.x की मानक लाइब्रेरी भी '%' के साथ बाढ़ आ गई है-जैसा प्रारूपण :(ऐसा लगता है कि '%' से छुटकारा पाने के कई संकेत नहीं हैं। वैसे भी, 'format() 'पर चिपके हुए सही लगता है :) –
यह वाक्य पाइथन 3.3 दस्तावेज में हटा दिया गया है, यह अभी भी 3.2 में था http://docs.python.org/3.2/tutorial/inputoutput.html#old-string -फॉर्मेटिंग – regilero
यह अच्छी खबर है! – Jon
"% s" अब "{}", इसलिए जोड़ने% s के साथ बदलने के insted {} जहाँ आप स्ट्रिंग में चर जोड़ना चाहते हैं।
def main():
n="Python 3.+"
l="looks nice"
f="does not look practical."
print("This seems to be the new way {}".format(n)\
+ "will be working, rather than the ' % ',{} but {}".format(l,f))
main()
#In comparison to just injecting the variable
आउटपुट उपेक्षा उद्धरण वे चित्रण कारणों
लिए कर रहे हैं "यह नया तरीका प्रतीत हो रहा है" पायथन 3. + " काम हो जाएगा, बल्कि '% ;, की तुलना में" अच्छा लग रहा है " लेकिन "व्यावहारिक नहीं दिखता है।" "
में इस उत्तर में कुछ स्पष्टीकरण जोड़ें। – Andrei
- 1. पायथन का ".format" फ़ंक्शन
- 2. d3.format
- 3. पायथन: यूनिकोड-एस्केड स्ट्रिंग पर .format() का उपयोग
- 4. पायथन 3
- 5. डब्लूएसजीआई और पायथन 3
- 6. पायथन और एसक्लाइट 3
- 7. लिनक्स और पायथन 3
- 8. पायथन 2 और 3
- 9. % s और% d
- 10. पायथन 3
- 11. पायथन में% s का क्या अर्थ है?
- 12. पाइथन 2 और पायथन 3
- 13. टोरनाडो और पायथन 3.x
- 14. MomentJS .format() मेरे टाइमज़ोन
- 15. hadoop java.io.IOException: namenode -format
- 16. पायथन स्ट्रिंग स्वरूपण जब स्ट्रिंग में "% s" होता है
- 17. पर्ल में, एस/^ \ s + // और s/\ s + $ // के बीच क्या अंतर है?
- 18. पायथन 3
- 19. पायथन 3
- 20. पायथन 3
- 21. पायथन 3
- 22. पायथन 3
- 23. पायथन 3
- 24. पायथन 3
- 25. MongoDB v/s Redis
- 26. पायथन 3
- 27. पायथन 3
- 28. पायथन 3
- 29. पायथन 3
- 30. पायथन 3
'% 'स्वरूपण थोड़ा तेज़ है। लेकिन यदि आप उस स्ट्रिंग स्वरूपण को कर रहे हैं जो महत्वपूर्ण है, तो आपके पास शायद अन्य महत्वपूर्ण चिंताएं होंगी। –