पायथन 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()स्वरूपण शैली और पुराने %आधारित स्वरूपण शैली ।