Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में डीआईआर (), ग्लोबल्स () और स्थानीय () फ़ंक्शन के बीच क्या अंतर है?


locals() आपको स्थानीय दायरे में घोषित चरों का शब्दकोश देता है जबकि Globals() आपको वैश्विक दायरे में घोषित चरों का शब्दकोश देता है। वैश्विक दायरे में, स्थानीय () और ग्लोबल्स () दोनों एक ही शब्दकोश को वैश्विक नामस्थान पर लौटाते हैं। दो कार्यों के बीच अंतर को नोटिस करने के लिए, आप उन्हें किसी फ़ंक्शन के भीतर से कॉल कर सकते हैं। उदाहरण के लिए,

def fun():
    var = 123
    print "Locals: ", locals()
    print "Vars: ", vars()
    print "Globals: ", globals()
fun()

यह आउटपुट देगा:

Locals:  {'var': 123}
Globals:  {'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__', 'fun': <function fun at 0x00000000
037E3DD8>, '__doc__': None, '__package__': None}

vars() या तो वर्तमान नामस्थान का एक शब्दकोश देता है (यदि बिना किसी तर्क के कहा जाता है) या तर्क का शब्दकोश। स्थानीय () और vars () के बीच मुख्य अंतर यह है कि vars () अनुरोधित वस्तु के लिए एक तर्क और वापसी शब्दकोश भी ले सकता है। उदाहरण के लिए, यदि आप किसी dict में किसी ऑब्जेक्ट की विशेषताएँ चाहते हैं, तो आप उस ऑब्जेक्ट को पास कर सकते हैं और उस उदाहरण के लिए dict विशेषता प्राप्त कर सकते हैं।

ऑब्जेक्ट के लिए vars() फ़ंक्शन समान ऑब्जेक्ट के लिए __dict__ प्रॉपर्टी के समान है। __dict__ वस्तु के लिए सभी परिभाषित विशेषता देता है। उदाहरण के लिए,

class A():
    def __init__(self, id):
        self.id = id
a = A(1)
print "__dict__: ", a.__dict__
print "vars(a): ", vars(a)

यह आउटपुट देगा:

__dict__:  {'id': 1}
vars(a):  {'id': 1}

  1. सी # में आभासी और अमूर्त कार्यों के बीच क्या अंतर है?

    सार विधियां कार्यान्वयन प्रदान नहीं करती हैं और वे व्युत्पन्न कक्षाओं को विधि को ओवरराइड करने के लिए मजबूर करती हैं। इसे अमूर्त वर्ग के तहत घोषित किया गया है। एक अमूर्त विधि में केवल विधि परिभाषा होती है अमूर्त पद्धति के विपरीत, आभासी विधियों का कार्यान्वयन होता है और यह अमूर्त और गैर-अमूर्त वर्ग म

  1. टिंकर (पायथन) में root.destroy () और root.quit () के बीच क्या अंतर है?

    जब हम नष्ट () . का आह्वान करते हैं टिंकर विंडो ऑब्जेक्ट के साथ विधि, यह मेनलूप . को समाप्त करती है विंडो के अंदर सभी विजेट्स को प्रोसेस और नष्ट कर देता है। टिंकर नष्ट करें () विधि मुख्य रूप से पृष्ठभूमि में चल रहे दुभाषिया को मारने और समाप्त करने के लिए उपयोग की जाती है। हालांकि, छोड़ें () mainloop

  1. पायथन में tkinter और tkinter.ttk के विजेट में क्या अंतर है?

    tkinter.ttk एक मॉड्यूल है जिसका उपयोग टिंकर विजेट्स को स्टाइल करने के लिए किया जाता है। जैसे CSS का उपयोग HTML तत्व को स्टाइल करने के लिए किया जाता है, वैसे ही हम tkinter.ttk का उपयोग tkinter विजेट्स को स्टाइल करने के लिए करते हैं। यहां tkinter विजेट और tkinter.ttk . के बीच प्रमुख अंतर दिए गए हैं -