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

Python में dir(), globals() और locals() Functions में क्या Difference है?


Namespace Inspection Functions की तुलना

locals()

Local Scope में Declared Variables का Dictionary Return करता है।

globals()

Global Scope में Declared Variables का Dictionary Return करता है।

Global Scope पर:

Global Scope पर, locals() और globals() दोनों Global Namespace के लिए Same Dictionary Return करते हैं।

Difference देखने के लिए: Function के अंदर से Call करें

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

fun()

Output:

Locals: {'var': 123}
Globals: {'__builtins__': , '__name__': '__main__', 'fun': , '__doc__': None, '__package__': None}

vars() Function

vars() या तो Current Namespace का Dictionary Return करता है (यदि No Argument के साथ Call किया गया) या Argument का Dictionary। locals() और vars() के बीच Main Difference यह है कि vars() Argument भी ले सकता है और Requested Object के लिए Dictionary Return कर सकता है।

उदाहरण: Object के Attributes प्राप्त करना

class A:
    def __init__(self, id):
        self.id = id

a = A(1)
print("__dict__:", a.__dict__)
print("vars(a):", vars(a))

Output:

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

Summary Table:

Function Scope Arguments
locals() Local No
globals() Global No
vars() Current/Object Optional (Object)
dir() Object/Module Optional

dir() Object के Valid Attributes की List Return करता है (Dictionary नहीं)।


  1. - C# में virtual और abstract फ़ंक्शन के बीच अंतर क्या है?

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

  1. Tkinter (Python) में root.destroy() और root.quit() में क्या अंतर है? Tkinter (Python) में root.destroy() और root.quit() में क्या अंतर है?

    जब हम Tkinter विंडो ऑब्जेक्ट के साथ destroy() मेथड को इनवोक करते हैं, तो यह मेनलूप प्रोसेस को समाप्त करता है और विंडो के अंदर सभी विजेट्स को नष्ट कर देता है। Tkinter destroy() मेथड का उपयोग मुख्य रूप से बैकग्राउंड में चल रहे इंटरप्रेटर को मारने और समाप्त करने के लिए किया जाता है।हालांकि, quit() मेथड

  1. Python में Tkinter और Tkinter.ttk के विजेट्स में क्या अंतर है? Python में Tkinter और Tkinter.ttk के विजेट्स में क्या अंतर है?

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