हाल ही में, मुझे ''.format
फ़ंक्शन बहुत उपयोगी पाया गया क्योंकि यह %
फ़ॉर्मेटिंग की तुलना में बहुत अधिक पठनीयता में सुधार कर सकता है। सरल स्ट्रिंग स्वरूपण प्राप्त करने के लिए कोशिश कर रहा है:पायथन का ".format" फ़ंक्शन
data = {'year':2012, 'month':'april', 'location': 'q2dm1'}
year = 2012
month = 'april'
location = 'q2dm1'
a = "year: {year}, month: {month}, location: {location}"
print a.format(data)
print a.format(year=year, month=month, location=location)
print a.format(year, month, location)
दो जबकि पहले प्रिंट प्रारूप के रूप में मैं उम्मीद करते हैं (हाँ, something=something
बदसूरत दिखता है, लेकिन यह है कि केवल एक उदाहरण है), पिछले एक KeyError: 'year'
उठाएंगे। क्या शब्दकोश बनाने के लिए पाइथन में कोई चाल है, इसलिए यह स्वचालित रूप से कुंजी और मान भर जाएगी, उदाहरण के लिए somefunc(year, month, location)
आउटपुट {'year':year, 'month': month, 'location': location}
होगा?
मैं अजगर के लिए काफी नया हूं और इस विषय पर कोई जानकारी नहीं मिल सका, हालांकि इस तरह की एक चाल मेरे वर्तमान कोड को काफी सुधार और कम कर देगी।
अग्रिम धन्यवाद और मेरी अंग्रेजी क्षमा करें।
लगता है कि इस दोहराने वाले कोड को कम करने का कोई तरीका नहीं है :) फ़ंक्शन अच्छा है और मैंने जो किया, वास्तव में, लेकिन बाद में मुझे इसे बनाए रखना मुश्किल था क्योंकि कई जगहों पर कोड बदलने के लिए मुझे बहुत सारे तर्कों की आवश्यकता थी, जो वास्तव में हाथों से निर्देश बनाने से भी बदतर हो गए। –
@duke_nukem हाँ यह आपके वास्तविक उपयोग पर निर्भर करता है। कोड ठीक है और प्रारूप एपीआई पर्याप्त स्पष्ट है। यदि आप 'प्रारूप (* तर्क, ** kwargs)' जैसे कुछ हासिल करना चाहते हैं, तो यह भी किया जा सकता है, लेकिन मुझे नहीं लगता कि यह चीजों को आसान बना सकता है। – okm