इस मॉड्यूल में फ़ंक्शंस लाइव ऑब्जेक्ट्स जैसे मॉड्यूल, क्लास, मेथड्स, फंक्शन्स, कोड ऑब्जेक्ट्स आदि के बारे में उपयोगी जानकारी प्रदान करते हैं। ये फंक्शन टाइप चेकिंग करते हैं, सोर्स कोड को पुनः प्राप्त करते हैं, क्लासेस और फंक्शन्स का निरीक्षण करते हैं और इंटरप्रेटर स्टैक की जांच करते हैं।
getmembers()- यह फ़ंक्शन किसी ऑब्जेक्ट के सभी सदस्यों को नाम की सूची में लौटाता है, नाम से क्रमबद्ध मान जोड़े। यदि वैकल्पिक विधेय की आपूर्ति की जाती है, तो केवल वे सदस्य शामिल होते हैं जिनके लिए विधेय वास्तविक मान लौटाता है। getmodulename() −यह फ़ंक्शन संलग्न पैकेजों के नामों को शामिल किए बिना, फ़ाइल पथ द्वारा नामित मॉड्यूल का नाम देता है
हम निरीक्षण मॉड्यूल के व्यवहार को समझने के लिए निम्नलिखित स्क्रिप्ट का उपयोग करेंगे।
#inspect-example.py'''यह मॉड्यूल डॉकस्ट्रिंग है'''डिफ हैलो():'''हैलो डॉकस्ट्रिंग'''' प्रिंट ('हैलो वर्ल्ड') रिटर्न#क्लास डेफिनिशनक्लास पैरेंट:'''पैरेंट डॉकस्ट्रिंग ''' def __init__(self):self.var='hello' def hello(self):print (self.var)class Child(parent):def hello(self):'''hello function overridden''' सुपर ().hello() प्रिंट ("आप कैसे हैं?")
'__' से शुरू होता है
>>> इंपोर्ट इंस्पेक्शन, इंस्पेक्ट_उदाहरण>>> k, v के लिए इंस्पेक्ट.गेटमेम्बर्स (inspect_example) में:अगर k.startswith('__')==False:print (k,v)childhelloparent>>>
भविष्यवाणी करता है
प्रेडिकेट एक तार्किक स्थिति है जो निरीक्षण मॉड्यूल में कार्यों के लिए लागू होती है। उदाहरण के लिए getmembers() फ़ंक्शन मॉड्यूल के सदस्यों की सूची देता है जिसके लिए दी गई विधेय स्थिति सत्य है। निरीक्षण मॉड्यूल में निम्नलिखित विधेय परिभाषित किए गए हैं
ismodule() | यदि वस्तु एक मॉड्यूल है तो सही लौटें। |
isclass() | यदि वस्तु एक वर्ग है, चाहे वह अंतर्निहित हो या पायथन कोड में निर्मित हो, तो सही लौटें। |
ismethod() | यदि ऑब्जेक्ट Python में लिखी गई बाध्य विधि है, तो सही लौटें। |
कार्यक्रम () | यदि ऑब्जेक्ट एक पायथन फ़ंक्शन है, जिसमें लैम्ब्डा एक्सप्रेशन द्वारा बनाए गए फ़ंक्शन शामिल हैं, तो सही लौटें। |
isgenerator() | यदि वस्तु जनरेटर है तो सही लौटें। |
iscode() | यदि वस्तु एक कोड है तो सही लौटें। |
isbuiltin() | यदि ऑब्जेक्ट एक अंतर्निहित फ़ंक्शन या एक बाध्य अंतर्निहित विधि है, तो सही लौटें। |
इससार () | यदि वस्तु एक सार आधार वर्ग है, तो सही लौटें। |
यहां केवल मॉड्यूल में वर्ग के सदस्यों को लौटाया जाएगा।
>>> k,v inspec.getmembers(inspect_example, निरीक्षण.isclass) के लिए:प्रिंट करें (k,v)childparent >>>
एक निर्दिष्ट वर्ग 'बच्चे' के सदस्यों को पुनः प्राप्त करने के लिए -
>>> निरीक्षण करें। getmembers(inspect_example.child)>>> x=inspect_example.child ()>>> निरीक्षण करें। getmembers (x)
getdoc() फ़ंक्शन किसी मॉड्यूल, वर्ग या फ़ंक्शन के डॉकस्ट्रिंग को पुनः प्राप्त करता है।
>>> निरीक्षण.getdoc(inspect_example)'यह मॉड्यूल डॉकस्ट्रिंग है'>>> निरीक्षण.गेटडॉक (inspect_example.parent)'पैरेंट डॉकस्ट्रिंग'>>> निरीक्षण.getdoc(inspect_example.hello)'हैलो डॉकस्ट्रिंग'
गेटसोर्स () फ़ंक्शन फ़ंक्शन का परिभाषा कोड प्राप्त करता है -
प्रिंट करें .hello)>>> प्रिंट (साइन) करेंनिरीक्षण मॉड्यूल में एक कमांड लाइन इंटरफ़ेस भी होता है।
सी:\उपयोगकर्ता\एसर>पायथन-एम इंस्पेक्शन-डी इंस्पेक्ट_उदाहरण लक्ष्य:इंस्पेक्ट_उदाहरणओरिजिन:सी:\python36\inspect_example.pyकैश्ड:सी:\python36\__pycache__\inspect_example.cpython-36.pyxLoader:<_frozen_importlib_external पर ऑब्जेक्ट
निम्न आदेश मॉड्यूल में 'हैलो ()' फ़ंक्शन का स्रोत कोड देता है।
C:\Users\acer>पायथन-एम निरीक्षण निरीक्षण_उदाहरण:hellodef hello():'''hello docstring'''' प्रिंट ('हैलो वर्ल्ड') रिटर्न