डीआईआर () फ़ंक्शन किसी भी ऑब्जेक्ट की विशेषताओं और विधियों की सूची देता है जैसे फ़ंक्शंस, मॉड्यूल, स्ट्रिंग्स, सूचियां, शब्दकोश इत्यादि। इस लेख में हम देखेंगे कि प्रोग्राम में विभिन्न तरीकों से डीआईआर() का उपयोग कैसे करें और विभिन्न आवश्यकताओं के लिए ।
सिर्फ dir()
जब हम प्रोग्राम में किसी अन्य मॉड्यूल को आयात किए बिना dir () के मान को प्रिंट करते हैं, तो हमें उन विधियों और विशेषताओं की सूची मिलती है जो मानक पुस्तकालय के हिस्से के रूप में उपलब्ध होती हैं जो एक पायथन प्रोग्राम के प्रारंभ होने पर उपलब्ध होती हैं।
उदाहरण
Print(dir())
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
अतिरिक्त मॉड्यूल
जैसे ही हम अतिरिक्त मॉड्यूल आयात करते हैं और चर बनाते हैं, वे वर्तमान परिवेश में जुड़ जाते हैं। फिर वे तरीके और विशेषताएँ dir() के साथ प्रिंट स्टेटमेंट में भी उपलब्ध हो जाती हैं।
उदाहरण
import math x = math.ceil(10.03) print(dir())
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'math', 'x']विशिष्ट मॉड्यूल के लिए
dir()
विशिष्ट मॉड्यूल के लिए हम उस मॉड्यूल में निहित विधियों और विशेषताओं को डीआईआर () के पैरामीटर के रूप में पास करके पा सकते हैं। नीचे दिए गए उदाहरण में हम गणित मॉड्यूल में उपलब्ध विधियों को देखते हैं।
उदाहरण
import math print(dir(math))
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', …., 'nan', … 'trunc']
dir() एक कक्षा के लिए
हम डीआईआर () को उस वर्ग पर भी लागू कर सकते हैं जो इन-बुलिट के बजाय उपयोगकर्ता द्वारा बनाया गया था और इसकी विशेषताओं को डीआईआर () के माध्यम से सूचीबद्ध किया गया था।
उदाहरण
class moviecount: def __dir__(self): return ['Red Man','Hello Boy','Happy Monday'] movie_dtls = moviecount() print(dir(movie_dtls))
आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
['Happy Monday', 'Hello Boy', 'Red Man']