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

पायथन वर्ग ब्राउज़र समर्थन

pyclbr पायथन लाइब्रेरी में मॉड्यूल पायथन मॉड्यूल में परिभाषित कार्यों, कक्षाओं और विधियों के बारे में जानकारी निकालता है। जानकारी को मॉड्यूल आयात करने के बजाय पायथन स्रोत कोड से निकाला जाता है।

यह मॉड्यूल readmodule() . को परिभाषित करता है फ़ंक्शन जो डिक्शनरी मैपिंग मॉड्यूल-स्तरीय वर्ग नामों को क्लास डिस्क्रिप्टर को लौटाता है। फ़ंक्शन एक मॉड्यूल नाम को पैरामीटर के रूप में लेता है। यह एक पैकेज के भीतर एक मॉड्यूल का नाम हो सकता है। उस स्थिति में पथ निर्देशिका पथ का एक क्रम है जो sys.path से जुड़ा हुआ है, जिसका उपयोग मॉड्यूल स्रोत कोड का पता लगाने के लिए किया जाता है।

निम्नलिखित कोड पायथन लाइब्रेरी के सॉकेट मॉड्यूल में कक्षाओं और विधियों को पार्स करने के लिए रीडमॉड्यूल () फ़ंक्शन का उपयोग करता है।

आयात pyclbrmod =pyclbr.readmodule("socket")def show(c):s ="class" + c.name प्रिंट (s + ":") मेथड्स =c.methods.items() मेथड के लिए, लिनेनो विधियों में:प्रिंट (" def " + मेथड) प्रिंट () k के लिए, v mod.items में ():शो (v)
कक्षा IntEnum:class IntFlag:def _missing_ def _create_pseudo_member_ def __or__ def __and__ def __xor__ def __invert__class _GiveupOnSendfile:class सॉकेट:def __init__ def __enter__ def __exit__ def __repr__ def _repr__ _dup _ def _ def _ def _ रक्षा _ प्राप्त करें def _ रक्षा _ प्राप्त करें def _decref_socketios def _real_close def करीब def डिटैच def परिवार def प्रकार def get_inheritable def set_inheritableclass SocketIO:def __init__ def readinto def लिखें def पठनीय def लिखने योग्य def खोजने योग्य def फ़ाइलनो def नाम def मोड def पास

pyclbr मॉड्यूल readmodule_ex() . को भी परिभाषित करता है फ़ंक्शन जो मॉड्यूल में परिभाषित प्रत्येक फ़ंक्शन और वर्ग के लिए फ़ंक्शन या क्लास डिस्क्रिप्टर युक्त एक शब्दकोश देता है। लौटाया गया शब्दकोश मॉड्यूल-स्तरीय फ़ंक्शन और वर्ग के नामों को उनके वर्णनकर्ताओं के लिए मैप करता है। नेस्टेड वस्तुओं को उनके माता-पिता के बच्चों के शब्दकोश में दर्ज किया जाता है।

>>> x =pyclbr.readmodule_ex('socket')>>> k,v के लिए x.items() में:प्रिंट (k,v)IntEnum IntFlag  _intenum_converter _GiveupOnSendfile सॉकेट सॉकेटियो getfqdn क्रिएट_कनेक्शन 

इन फ़ंक्शन का उपयोग कस्टम मॉड्यूल के साथ-साथ उपयोगकर्ता परिभाषित कक्षाओं और विधियों की निर्देशिका लाने के लिए किया जा सकता है।

निम्नलिखित उदाहरण में एक मॉड्यूल 'triangles.py' का उपयोग इसकी वर्ग संरचना प्राप्त करने के लिए किया जाता है।

#triangles.pyआयात गणित वर्ग त्रिभुज:def __init__(self, a, b, c):self.a =a self.b =b self.c =c def area(self):s=(self.a+) self.b+self.c)/2 क्षेत्र=math.sqrt(s*(s-self.a)*(s-self.b)*(s-self.c)) रिटर्न एरियाक्लास इक्विट्रिएंगल (त्रिकोण):def __init__(self, a):b =a c =a super().__init__(a,b,c) def area(self):area=math.sqrt(3)*pow(self.a,2)/4 रिटर्न क्षेत्र

अब हम 'त्रिकोण' मॉड्यूल में वर्ग और विधियाँ प्राप्त करेंगे।

>>> br =pyclbr.readmodule_ex('triangles')>>> for i,j in br.items():Print (i,j.methods) Triangle {'__init__':3, 'area':7}समकोण {'__init__':12, 'क्षेत्र':16}

pyclbr मॉड्यूल दो वस्तुओं को परिभाषित करता है - क्लास ऑब्जेक्ट और फंक्शन ऑब्जेक्ट।

फ़ंक्शन वस्तु में निम्नलिखित विशेषताएं हैं

file
उस फ़ाइल का नाम जिसमें फ़ंक्शन परिभाषित है।
मॉड्यूल
फ़ंक्शन को परिभाषित करने वाले मॉड्यूल का नाम वर्णित है।
name
फ़ंक्शन का नाम।
lineno
फाइल में लाइन नंबर जहां से डेफिनिशन शुरू होती है।
parent
शीर्ष-स्तरीय कार्यों के लिए, कोई नहीं। नेस्टेड फ़ंक्शंस के लिए, parent.
बच्चे
डिस्क्रिप्टर फॉरनेस्टेड फंक्शन्स और क्लासेस के लिए एक डिक्शनरी मैपिंग नाम।

कक्षा ऑब्जेक्ट में उपरोक्त के अलावा दो और विशेषताएँ हैं

super
क्लास ऑब्जेक्ट्स की एक सूची जो वर्णित की जा रही क्लास के तत्काल बेस क्लासेस का वर्णन करती है।
तरीके
एक डिक्शनरी मैपिंग मेथड लाइन नंबर्स को नाम देती है।

  1. पायथन में विरासत

    इस लेख में, हम पायथन 3.x में इनहेरिटेंस और एक्सटेंडिंग क्लासेस सीखेंगे। या पहले। वंशानुक्रम वास्तविक दुनिया के संबंधों का अच्छी तरह से प्रतिनिधित्व करता है, पुन:प्रयोज्य प्रदान करता है और पारगमन का समर्थन करता है। यह तेजी से विकास समय, आसान रखरखाव और विस्तार में आसान प्रदान करता है। वंशानुक्रम को

  1. पायथन में प्रथम श्रेणी के कार्य

    विभिन्न प्रोग्रामिंग भाषाओं में, प्रथम श्रेणी की वस्तुएं वे वस्तुएं होती हैं, जिन्हें समान रूप से नियंत्रित किया जा सकता है। प्रथम श्रेणी की वस्तुओं को डेटा संरचनाओं के रूप में, कुछ अन्य कार्यों के कुछ मापदंडों के रूप में, नियंत्रण संरचनाओं आदि के रूप में संग्रहीत किया जा सकता है। हम कह सकते हैं कि

  1. पायथन एक्सेप्शन बेस क्लासेस

    अन्य उच्च-स्तरीय भाषाओं की तरह, अजगर में भी कुछ अपवाद हैं। जब कोई समस्या होती है, तो यह अपवाद उठाता है। विभिन्न प्रकार के अपवाद हैं जैसे ZeroDivisionError, AssertionError आदि। सभी अपवाद वर्ग बेसएक्सप्शन क्लास से प्राप्त होते हैं। कोड अपवादों में बनाया जा सकता है, या हम इन अपवादों को कोड में भी बढ़ा