पायथन 2.6 ने str.format()
मौजूदा %
ऑपरेटर से थोड़ा अलग सिंटैक्स के साथ विधि पेश की । कौन सा बेहतर है और किन स्थितियों के लिए है?
निम्नलिखित प्रत्येक विधि का उपयोग करता है और इसका परिणाम समान होता है, इसलिए अंतर क्या है?
#!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c # "with an arg!" print d # "with an arg!"
इसके अलावा जब पायथन में स्ट्रिंग स्वरूपण होता है? उदाहरण के लिए, यदि मेरा लॉगिंग स्तर हाई पर सेट है, तो क्या मैं अभी भी निम्नलिखित
%
ऑपरेशन करने के लिए एक हिट ले जाऊंगा? और यदि हां, तो क्या इससे बचने का कोई तरीका है?log.debug("some debug info: %s" % some_info)
%
अधिक बार पुरानी शैली का उपयोग करता हूं , क्योंकि यदि आपको format()
शैली की बेहतर क्षमताओं की आवश्यकता नहीं है, तो %
शैली अक्सर बहुत अधिक सुविधाजनक होती है।
format()
स्वरूपण शैली और पुराने %
आधारित स्वरूपण शैली ।