से बाहर चर निकालें मैं अजगर में argparse उपयोग कर रहा हूँ कमांडलाइन तर्क पार्स करने के लिए:पायथन: नाम स्थान
parser = ArgumentParser()
parser.add_argument("--a")
parser.add_argument("--b")
parser.add_argument("--c")
args = parser.parse_args()
अब मैं a
, b
, और c
साथ कुछ गणना करना चाहते हैं। हालांकि, मुझे हर समय args.a + args.b + args.c
लिखना मुश्किल लगता है।
इसलिए, मैं उन चर निकालने हूँ:
a, b, c = [args.a, args.b, args.c]
इस तरह की है कि मैं a + b + c
लिख सकते हैं।
क्या ऐसा करने का एक और शानदार तरीका है?
कई तर्क जोड़ते समय मैन्युअल निष्कर्षण बहुत कठिन और त्रुटि प्रवण हो जाता है।
उत्तर के लिए धन्यवाद। यह काम करता है, लेकिन 'exec "" भाग बहुत बदसूरत हैक जैसा लगता है। यह जरूरी क्यों है? – Lemming
सुधार: फ़ंक्शन में नेस्टेड फ़ंक्शंस होने पर यह काम नहीं करता है। इस मामले में निम्न त्रुटि संदेश पॉप अप करता है: 'exec" " सिंटेक्स त्रुटि: फ़ंक्शन 'मुख्य' में अयोग्य निष्पादन की अनुमति नहीं है, इसमें नि: शुल्क चर ' – Lemming
आईके के साथ एक नेस्टेड फ़ंक्शन शामिल है। मुझे यह नहीं पता था, लेकिन यह समझ में आता है। क्लोजर के लिए पाइथन के मानक स्थानीय परिवर्तनीय तंत्र की आवश्यकता होती है, जो सूचकांक द्वारा स्थानीय लोगों तक पहुंचता है। एक समारोह बलों अजगर में कहीं भी 'exec' बयान के उपयोग के नाम से स्थानीय लोगों तक पहुँचने का एक वैकल्पिक तरीका, (उपयोग करने के लिए है क्योंकि' exec' परिभाषित या स्थानीय लोगों को संशोधित कर सकता है यह भी कारण है कि आप 'स्थानीय लोगों को अपडेट कर सकते()' यदि 'कार्यकारी 'समारोह में देखा जाता है, लेकिन अन्यथा नहीं)। – kindall