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

पायथन में जीवित वस्तुओं का निरीक्षण करें

इस मॉड्यूल में फ़ंक्शंस लाइव ऑब्जेक्ट्स जैसे मॉड्यूल, क्लास, मेथड्स, फंक्शन्स, कोड ऑब्जेक्ट्स आदि के बारे में उपयोगी जानकारी प्रदान करते हैं। ये फंक्शन टाइप चेकिंग करते हैं, सोर्स कोड को पुनः प्राप्त करते हैं, क्लासेस और फंक्शन्स का निरीक्षण करते हैं और इंटरप्रेटर स्टैक की जांच करते हैं।

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)child parent >>>

एक निर्दिष्ट वर्ग 'बच्चे' के सदस्यों को पुनः प्राप्त करने के लिए -

>>> निरीक्षण करें। 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'''' प्रिंट ('हैलो वर्ल्ड') रिटर्न

  1. पायथन हैलो वर्ल्ड:ए हाउ-टू गाइड

    पायथन हैलो वर्ल्ड प्रोग्राम आमतौर पर पहला प्रोग्राम होता है जिसे कोडर पायथन में लिखेगा। यह प्रोग्राम पायथन कंसोल पर एक स्ट्रिंग प्रदर्शित करने के लिए एक प्रिंट स्टेटमेंट का उपयोग करता है। कार्यक्रम इस तरह दिखता है:प्रिंट (हैलो वर्ल्ड)। यह सुनिश्चित करने के लिए कि आपका पायथन संस्करण काम करता है, सब

  1. पायथन में फाइल ऑब्जेक्ट्स?

    पायथन में, जब भी हम फ़ाइलों को पढ़ने या लिखने की कोशिश करते हैं, तो हमें किसी पुस्तकालय को आयात करने की आवश्यकता नहीं होती है क्योंकि इसे मूल रूप से संभाला जाता है। फ़ाइल ऑब्जेक्ट प्राप्त करने के लिए सबसे पहले हम बिल्ट-इन ओपन फ़ंक्शन का उपयोग करेंगे। खुला फ़ंक्शन एक फ़ाइल खोलता है और एक फ़ाइल ऑब्ज

  1. पायथन में बैरियर ऑब्जेक्ट्स

    बैरियर एक पायथन सिंक्रोनाइज़ेशन तकनीक प्रदान करता है जिसके साथ एकल या एकाधिक थ्रेड गतिविधियों के एक सेट में एक बिंदु तक प्रतीक्षा करते हैं और एक साथ प्रगति करते हैं। एक बाधा वस्तु को परिभाषित करने के लिए, थ्रेडिंग. बैरियर” का प्रयोग किया जाता है। थ्रेडिंग.बैरियर(पार्टियां, एक्शन =कोई नहीं, टाइमआउट