00 · पाठ्यक्रम के लिए आवश्यक Python तंत्र
पाठ्यक्रम के लिए आवश्यक Python तंत्र¶
operator dispatch, decorator और dataclass से समझें कि expression library method तक कैसे पहुँचता है।
आप फलन, class, condition और सरल type annotation पढ़ सकते हैं।
- “पाठ्यक्रम के लिए आवश्यक Python तंत्र” की गणितीय परिभाषा अपने शब्दों में समझाना
- Python डेटा में उसका निरूपण बताना
- वास्तविक कोड से छोटा execution अनुमानित करना
Python में `a + b` और `a == b`, `__add__` और `__eq__` माँगते हैं। decorator परिभाषा के समय function object लेकर उसे बदलता है।
frozen dataclass अपरिवर्तनीय मान रखती है। `@log` method भीतर result और delayed message लौटाता है; wrapper केवल result दिखाता है।
`+` → `__add__`; `==` → `__eq__`; `@log` → `inner`
गणितीय परिभाषा
गणितीय परिभाषा¶
Python में a + b और a == b, __add__ और __eq__ माँगते हैं। decorator परिभाषा के समय function object लेकर उसे बदलता है।
डेटा निरूपण
डेटा निरूपण¶
frozen dataclass अपरिवर्तनीय मान रखती है। @log method भीतर result और delayed message लौटाता है; wrapper केवल result दिखाता है।
Python कार्यान्वयन
Python कार्यान्वयन¶
inner मूल method चलाकर (result, message) अलग करता है, जरूरत पर log लिखता है और result लौटाता है; @wraps metadata बचाता है।
पाठ्यक्रम में उपयोग किया गया सटीक संबंध:
Execution trace
Execution trace¶
wrapper को message मिलने से पहले method पूरा होता है, इसलिए भीतर के recursive call का log पहले आता है।
बताएँ कि `structural_str()` और `+` कौन-सा कोड चलाएँगे और दो अपेक्षित पंक्तियाँ लिखें।
पहले अनुमान लिखें, फिर चलाएँ।
Test से जाँच
Test से जाँच¶
test result, public signature और message के delayed evaluation की रक्षा करते हैं।
दायरा और सीमाएँ
दायरा और सीमाएँ¶
मूल syntax दोबारा नहीं पढ़ाया गया; library समझने की जरूरी metaprogramming ही समझाई गई है।