का उपयोग कर निम्न स्ट्रिंग निर्माण बयान पर विचार करें प्रारूपण:पायथन: एक स्ट्रिंग चर नाम प्लेसहोल्डर
s="svn cp %s/%s/ %s/%s/" % (root_dir, trunk, root_dir, tag)
का उपयोग करते हुए चार %s
भ्रामक हो सकते हैं, इसलिए मैं चर नाम का उपयोग करना पसंद:
s="svn cp {root_dir}/{trunk}/ {root_dir}/{tag}/".format(**SOME_DICTIONARY)
जब root_dir
, tag
और trunk
कोका उपयोग करके कक्षा के दायरे में परिभाषित किया गया है अच्छी तरह से काम करता है:
s="svn cp {root_dir}/{trunk}/ {root_dir}/{tag}/".format(**self.__dict__)
लेकिन जब चर स्थानीय कर रहे हैं, वे एक शब्दकोश में परिभाषित नहीं कर रहे हैं, इसलिए मैं बजाय स्ट्रिंग संयोजन का उपयोग करें:
s="svn cp "+root_dir+"/"+trunk+"/ "+root_dir+"/"+tag+"/"
मैं इस पद्धति काफी भ्रमित लगता है , लेकिन मुझे इन-लाइन स्थानीय चर का उपयोग करके स्ट्रिंग बनाने का कोई तरीका नहीं पता है।
वैरिएबल स्थानीय होने पर वे चर नामों का उपयोग कर स्ट्रिंग कैसे बना सकते हैं?
अद्यतन: locals()
फ़ंक्शन का उपयोग करके चाल चल रही थी।
ध्यान दें कि स्थानीय और ऑब्जेक्ट चरों को मिलाकर अनुमति है! उदाहरण के लिए,
s="svn cp {self.root_dir}/{trunk}/ {self.root_dir}/{tag}/".format(**locals())
धन्यवाद, पूरी तरह से 'स्थानीय() 'भूल गए। –
ध्यान दें कि '{a}' प्रारूप (** स्थानीय()), '{a}' प्रारूप (ए = ए) और '{0}' प्रारूप (ए) 450ns, 410 और 215 सम्मानित समय पर हैं । (ठीक है यह एनएस है ...) – comte