कई तार जोड़ना क्योंकि अस्वीकृत किया गया है:
- यह विकल्पों की तुलना में वास्तव में पठनीय नहीं है,।
- यह विकल्प के रूप में उतना ही कुशल नहीं है।
- यदि आपके पास अन्य प्रकार हैं तो आपको मैन्युअल रूप से
str
पर कॉल करना होगा।
और, हाँ, यह वास्तव में पुराना है। :-)
सिद्धांत स्ट्रिंग जोड़ में एक नई स्ट्रिंग बनाता है। तो, केवल आपके n
तार जोड़ने मान, तो आप n-1
तार बनाने की जरूरत है, लेकिन एक को छोड़कर इन सभी निकाल दिया जाता है क्योंकि आप केवल अंतिम परिणाम में रुचि रखते हैं। तारों को सरणी के रूप में कार्यान्वित किया जाता है ताकि आपके पास कोई लाभ के लिए बहुत अधिक महंगा (पुनः आवंटन) आवंटन न हो।
आप प्लेसहोल्डर के साथ एक स्ट्रिंग है, तो यह न केवल अधिक पठनीय है (यदि आप इन +
और उन दोनों के बीच str
की जरूरत नहीं है), लेकिन अजगर भी गणना कर सकता है कि कब तक अंतिम स्ट्रिंग है और अंतिम स्ट्रिंग के लिए केवल एक सरणी का आवंटन और सब कुछ डालें।
अभ्यास है कि वास्तव में नहीं है क्या, क्योंकि अजगर चेकों हो रहा है अगर एक स्ट्रिंग एक मध्यवर्ती है और कुछ अनुकूलन करता है। तो यह n-2
अनावश्यक सरणी बनाने के रूप में उतना बुरा नहीं है।
छोटे तार और/या इंटरैक्टिव आप उपयोग के लिए भी एक अंतर नोटिस नहीं होगा। लेकिन फिर अन्य तरीकों से अधिक पठनीय होने का लाभ होता है।
वैकल्पिक जा सकता है (पहले दो @MKemps से नकल कर रहे हैं का जवाब):
"Total score for {} is {}".format(name, score)
"Total score for %s is %s" % (name, score)
(भी वर्ष!)
"Total score for {name} is {score}".format(name=name, score=score)
f"Total score for {name} is {score}"
(बहुत नई - अजगर में पेश 3।6)
विशेष रूप से बाद के दो उदाहरण दिखाते हैं कि आप कुछ भी डालने के बिना टेम्पलेट स्ट्रिंग भी पढ़ सकते हैं।
नई स्फूर्ति का पहले https://www.python.org/dev/peps/pep-3101/ कि नए (बेहतर, बेशक) स्ट्रिंग स्वरूपण – Pythonista
अस्वीकृत करने के तरीके पेश किया जैसे शुरू किए गए थे? तुम्हारा मतलब बहिष्कृत या पुराना है? –
यहां कुछ बाहरी दस्तावेज हैं। https://pyformat.info –