RedBlueThing के रूप में और एनालॉग ने कहा:
dir()
globals()
वैश्विक चर
locals()
का एक शब्दकोश देता गुंजाइश चर में की एक सूची देता है स्थानीय चर का एक शब्दकोश देता
चर बनाने के बाद इंटरैक्टिव शैल (संस्करण 2.6.9) का उपयोग करना a = 1
और b = 2
, dir()
चल
['__builtins__', '__doc__', '__name__', '__package__', 'a', 'b']
चल locals()
{'a': 1, 'b': 2, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None}
globals()
वास्तव में इस मामले में locals()
रूप में एक ही जवाब देता है चल रहा है देता है देता है।
मुझे किसी भी मॉड्यूल में नहीं मिला है, इसलिए सभी चर स्थानीय और वैश्विक दोनों चर के रूप में उपलब्ध हैं।locals()
और globals()
चर के साथ-साथ नामों के मूल्यों को सूचीबद्ध करें; dir()
केवल नाम सूचीबद्ध करता है।
यदि मैं मॉड्यूल के अंदर एक मॉड्यूल आयात करता हूं और locals()
या globals()
चलाता हूं, तो dir()
अभी भी केवल कुछ ही चर देता है; यह ऊपर सूचीबद्ध चर के लिए __file__
जोड़ता है। locals()
और globals()
भी वही चर सूचीबद्ध करते हैं, लेकिन __builtin__
के लिए शब्दकोश मान को प्रिंट करने की प्रक्रिया में, यह चर की एक बड़ी संख्या सूचीबद्ध करता है: अंतर्निहित फ़ंक्शंस, अपवाद और प्रकार जैसे कि 'type': <type 'type'>
" ऊपर दिखाए गए अनुसार <module '__builtin__' (built-in)>
संक्षिप्त करें।
dir()
के बारे में अधिक जानकारी के लिए Python 2.7 quick reference न्यू मेक्सिको टेक या the dir() function पर ibiblio.org पर देखें।
locals()
और globals()
अधिक के बारे में के लिए गोता में अजगर और न्यू मैक्सिको टेक में globals बारे में एक पृष्ठ पर locals and globals देखते हैं।
[टिप्पणी: @ कर्ट: आपने enumerate-or-list-all-variables-in-a-program-of-your-favorite-language-here पर एक लिंक दिया है लेकिन उस उत्तर में इसकी कोई गलती है। समस्या यह है कि उस उदाहरण में type(name)
हमेशा <type 'str'>
लौटाएगा। आपको वेरिएबल की एक सूची मिलती है, जो प्रश्न का उत्तर देती है, लेकिन उनके बगल में सूचीबद्ध गलत प्रकारों के साथ। यह आपके उदाहरण में स्पष्ट नहीं था क्योंकि सभी चर किसी भी तरह तारों के साथ हुआ; हालांकि, यह वापस लौटने वाला चर के प्रकार के बजाय चर के नाम का प्रकार है। इसे ठीक करने के लिए: print type(name)
के बजाय print eval('type(' + name + ')')
का उपयोग करें। मैं उत्तर अनुभाग में एक टिप्पणी पोस्ट करने के लिए क्षमा चाहता हूं लेकिन मेरे पास टिप्पणी पोस्टिंग विशेषाधिकार नहीं हैं, और दूसरा प्रश्न बंद है।]
मैं वर्गीकरण समाज के नियमों द्वारा कुछ संरचना को कम कर रहा हूं। तो सभी मोटाई टी, लंबाई एल आदि हैं और कभी-कभी वे एक-दूसरे को बुलाते हैं, इसलिए टी का प्रयोग chap.7.2.4 में किया जाता है। 3.2.2 से टी का उपयोग करता है। यह एक बार गणना है, इसलिए मैं सिर्फ एक इंटरैक्टिव खोल के रूप में पीई का उपयोग करता हूं। – Rook
किया और किया गया: http://stackoverflow.com/questions/430811/enumerate-or-list-all-variables-in-a-program-of-your-favorite-language-here – Kurt