Transcript for:
कंप्लीट पाइथन सीरीज - OOP पार्ट टू

हाय एवरीवन एंड वेलकम टू द कंप्लीट पाइथन सीरीज जिसके अंदर आज हम करने वाले हैं अपने उप्स यानी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के अंदर पार्ट टू को कंप्लीट इस पार्ट के अंदर इन्हेरिटेंस होगी पॉलीमोर्फस ज्म हो गई इस तरीके के इंपॉर्टेंट कॉन्सेप्ट्स को हम कवर करेंगे उन्हें इंप्लीमेंट करके देखेंगे और फिर उन पर बेस्ड न प्रैक्टिस क्वेश्चंस को सॉल्व कर रहे होंगे इससे अलावा पाइथन के किसी भी टॉपिक को अगर आपको पढ़ना है तो वो इसी चैनल के ऊपर इस प्लेलिस्ट के अंदर अवेलेबल है तो उन्हें हम जाकर देख सकते हैं एंड लाइक ऑलवेज नोट्स को डाउनलोड करने का लिंक हमें नीचे डिस्क्रिप्शन बॉक्स के अंदर मिल जाएगा वहां से जाक हम अपनी स्लाइड्स को एक्सेस कर सकते हैं तो शुरुआत करते हैं अपने नेक्स्ट लेक्चर के साथ तो ऊप्स चैप्टर में नेक्स्ट कांसेप्ट जैसे हम पढ़ने वाले हैं दिस इज द डेल कीवर्ड डेल कीवर्ड का काम होता है टू डिलीट ऑब्जेक्ट प्रॉपर्टीज या द एंटायस सेल्फ कोई भी ऑब्जेक्ट अगर हम क्रिएट करते हैं कोड के अंदर तो वो क्या करती है वोह मेमोरी के अंदर कुछ स्पेस ऑक्यूपाइड है क्योंकि ऑब्जेक्ट से रिलेटेड कुछ-कुछ मेथड्स होते हैं उसके काफी सारे डिफरेंट एटिबल ट्रिब्यूट्स हमारी मेमोरी के अंदर जगह लेते हैं तो कई बार हो सकता है ऐसी हमने कोई ऑब्जेक्ट क्रिएट कर दी जिसको बाद में हमें कभी यूज नहीं करना तो हम इंडिविजुअली उसकी प्रॉपर्टीज को भी डिलीट कर सकते हैं और उस ऑब्जेक्ट को भी डिलीट कर सकते हैं डिलीट करने के लिए हमें सिंपली डी एल ये कीवर्ड लिखना पड़ेगा एंड उसके बाद इस तरीके से हम प्रॉपर्टीज को डिलीट कर सकते हैं एट्रबीक से हम अपनी कंप्लीट ऑब्जेक्ट को भी डिलीट कर सकते हैं लेट्स ट्राई टू क्रिएट अ स्टूडेंट ऑब्जेक्ट अगर हमने स्टूडेंट क्लास क्रिएट की इसके अंदर लेट्स क्रिएट आवर कंस्ट्रक्टर इन इट इसके अंदर हमारे पास एक नेम आ जाएगा एंड सेल्फ डॉट नेम इक्ट नेम एंड अब हमें क्या करना है एक स्टूडेंट वन हम क्रिएट करते हैं जिसके अंदर नेम में आई कैन पास श्रद्धा एंड इफ आई वांट टू डिलीट द स्टूडेंट आई कैन सिंपली राइट डील एव एंड उसके बाद अगर हम स्टूडेंट को प्रिंट करवाने की कोशिश करेंगे तो उस केस में हमारे पास एरर आ जाएगा लेट्स सेव इट एंड रन तो इस केस में हमारे पास एरर आ गया क्योंकि नेम s1 इज नॉट डिफाइंड क्यों क्योंकि वो यहां पर डिलीट हो गया जबकि यही सेम चीज अगर हम यहां पर प्रिंट करवा रहे होते तो कोई एरर नहीं आता तो उस केस में नॉर्मली हमारे लिए जो ऑलरेडी प्रिंट होता है वो चीज प्रिंट हो जाती अगर हम यहां पर s ड नेम प्रिंट करवा रहे हैं और फिर बाद में अगर हम s ड नेम को डिलीट कर देते हैं और फिर उसे प्रिंट करवाने की कोशिश करते हैं तो पहले तो हमारे लिए नॉर्मली प्रिंट हो जाएगा पर उसके बाद क्योंकि हमने डिलीट कर दिया उस चीज को तो यहां दिखा रहा है स्टूडेंट ऑब्जेक्ट हैज नो एटिबल नेम तो इस तरीके से हम अपने डीएल डिलीट कीवर्ड को यूज कर सकते हैं नेक्स्ट हम बात करने वाले हैं प्राइवेट एटिबल के बारे में जनरली जब भी हम ऊप्स पढ़ते हैं जैसे दूसरी अगर किसी लैंग्वेज के अंदर जब भी हम ऊप्स पढ़ते हैं c+ प् के अंदर जावा के अंदर तो वी हैव दिस कांसेप्ट ऑफ पब्लिक एंड प्राइवेट जनरली दूसरी जो लैंग्वेजेस होती है उनके अंदर अगर किसी एटिबल को को या किसी मेथड को हमने पब्लिक कर दिया तो उसका मतलब होता है जनरली कि हम उस मेथड या उस एट्रियो को क्लास के बाहर भी एक्सेस कर सकते हैं जैसे अभी तक अगर मैंने एक स्टूडेंट बनाया है तो स्टूडेंट में मैं लिख सकती हूं s1 . n मैं क्या कर रही हूं अपनी क्लास के स्कोप से यानी यह क्लास का स्कोप है जहां-जहां क्लास के अंदर वाली चीजें हैं क्लास के बाहर मैं स्टूडेंट के नेम को एक्सेस कर सकती हूं तो इसे हम जनरली पब्लिक की कैटेगरी में डालते हैं पर कई बार हमारी कुछ ऐसी सेंसिटिव इंफॉर्मेशन होती है कुछ ऐसे सेंसिटिव एटिबल होता है कुछ ऐसा मेथड होता है जिसको हम प्राइवेट रखना चाहते हैं जिसको हम अपनी क्लास से बाहर किसी को एक्सेस नहीं देना चाहते फॉर एग्जांपल इफ आई क्रिएट अ क्लास कॉल्ड अकाउंट बैंक अकाउंट के लिए या अकाउंट के लिए कोई क्लास क्रिएट कर रहे हैं और इस अकाउंट के लिए हम मल्टीपल इंफॉर्मेशन स्टोर करते हैं जैसे यहां इट में हमारे पास सेल्फ है वी हैव द अकाउंट नंबर उसके साथ हमारे पास अकाउंट का पासवर्ड भी है तो अकाउंट नंबर एंड पासवर्ड दो इंफॉर्मेशन है हमारे पास सेल्फ डॉट अकाउंट नंबर इज इक्वल टू अकाउंट नंबर एंड सेल्फ डॉट अकाउंट पासवर्ड इज इक्वल टू अकाउंट पासवर्ड इस तरीके से हमने कुछ इंफॉर्मेशन डिस्प्ले कर दी अब लेट्स सपोज कल को कोई नया यूजर आता है और वह अकाउंट क्रिएट करने की कोशिश करता है तो अकाउंट के अंदर हम मल्टीपल इंफॉर्मेशन पास कर सकते हैं लेट्स सपोज शुरुआत में जब किसी यूजर का अकाउंट क्रिएट होता है तो उसके लिए अकाउंट नंबर जा रहा है 1 2 3 4 5 एंड उनका पासवर्ड जा रहा है ए बी सी डीई इस तरीके से यह अकाउंट नंबर हो गया एंड यह पासवर्ड हो गया अब कोई भी चाहे कि हम प्रिंट करवाना चाहते हैं अकाउंट 1 अकाउंट नंबर को अब वैसे तो यहां पर कोड में चीजें विजिबल हैं बट जनरली फ्लो कैसे काम करता है जनरली अगर आप किसी वेबसाइट पर जाएंगे वहां से कोई यूजर है वह अपना अकाउंट नंबर या फिर अपना पासवर्ड जो है वह सेट करें करेंगे या उसको एंटर करेंगे एंड उसके बाद बैक एंड के अंदर हो सकता है पाइथन कोड के थ्रू ही हम इस तरीके से जो भी इंफॉर्मेशन हमारे पास आएगी उसको डायरेक्टली यहां पर क्लास के अंदर सेव करवा रहे हैं अब जब हम प्रिंट करवा रहे हैं अकाउंट नंबर को तो क्या होगा हमारे लिए अकाउंट नंबर भी प्रिंट हो जाएगा और हमारे लिए यहां पे अकाउंट पासवर्ड भी प्रिंट हो जाएगा व्हेन आई ट्राई टू प्रिंट दीज थिंग्स बोथ ऑफ देम विल बी प्रिंटेड फॉर मी बट जनरली दिस इज बैड प्रैक्टिस क्योंकि अकाउंट पासवर्ड ऐसी चीज है जो शायद इस कोड के अंदर हमें इस अकाउंट क्लास के बाहर नहीं पास करना चाहिए क्योंकि जो भी चीज पब्लिकली अवेलेबल होती है उसके अंदर गलती से चेंजेज होने के चांसेस बढ़ जाते हैं उसके अंदर सिक्योरिटी डिक्रीज हो जाती है तो इसीलिए जब भी हम कोड के अंदर ऑब्जेक्ट्स एंड क्लासेस में कुछ ऐसी इंप्लीमेंटेशन करते हैं जिसमें हमें लगता है कोई इंफॉर्मेशन सेंसिटिव है या इस इंफॉर्मेशन को हम बाहर अपनी क्लास से बाहर नहीं पास करना चाहते तो उसे हम एक तरीके से प्राइवेट बना सकते हैं यानी अब उस इंफॉर्मेशन को क्लास के बाहर एक्सेस कर पाना पॉसिबल नहीं होगा और किसी भी एट्रिल को प्राइवेट बनाने के लिए हम सिंपली क्या करते हैं उसके आगे दो अंडरस्कोर लगा देते हैं हमने क्या किया यह दो अंडरस्कोर लगा दिए एंड यह चीज अब प्राइवेट हो गई तो यहां पर इफ आई ट्राई टू एक्सेस दिस थिंग यानी अकाउंट 1 डॉ अकाउंट पासवर्ड को जब हम अब एक्सेस करने की कोशिश करेंगे और इसे रन करेंगे तो इस केस में अब हमारे पास एरर आ जाएगा अकाउंट ऑब्जेक्ट हैज नो एट्रिल अकाउंट पासवर्ड तो बेसिकली ये चीज अब प्राइवेट हो गई इसे हम क्लास के बाहर एक्सेस नहीं कर सकते लेट्स सपोज कोई हमारे पास एक फंक्शन है रिसेट पासवर्ड का यह सारी इमेजिनरी चीजें चल रही है हमारे पास कोई फंक्शन है जो रिसेट कर देता है पासवर्ड को एंड उस फंक्शन के अंदर हम लेट्स सपोज प्रिंट करवाना चाहते हैं अकाउंट वन डॉट पासवर्ड या दिस विल बी सेल्फ डॉट अकाउंट पासवर्ड तो यह चीज करवाना बिल्कुल पॉसिबल है यानी यहां पे तो सेल्फ डॉट पासवर्ड चल जाएगा पर यहां पे अकाउंट व डॉट पासवर्ड नहीं च चलेगा क्योंकि ये फंक्शन कहां पे है ये फंक्शन क्लास के अंदर है और यह वाली जो प्रिंट स्टेटमेंट है ये क्लास के बाहर है तो क्लास के बाहर हम उसे एक्सेस नहीं कर पाएंगे पर क्लास के अंदर लाइक इफ आई ट्राई टू कॉल रिसेट पासवर्ड तो इस बार हमारे पास कोई एरर नहीं आएगा इस बार सिंपली हमारे लिए हमारा पासवर्ड प्रिंट हो जाएगा तो अगर कोई ऐसी चीज है जिसे हम सिर्फ क्लास के अंदर रखना चाहते हैं तो उसे हम प्राइवेट बना सकते हैं अब ये जो प्राइवेट एंड पब्लिक का कांसेप्ट है ये जैसे दूसरी लैंग्वेजेस के अंदर वर्क करता है जावा हो गई c+ प हो गई अगर आपका उन लैंग्वेजेस के अंदर बैकग्राउंड है तो एगजैक्टली वैसे वर्क नहीं करता उप्स pythonanywhere.com ब्यूट्स के सामने भी हम अंडरस्कोर अंडरस्कोर लगा दें और मेथड्स के सामने भी हम अंडरस्कोर अंडरस्कोर लगा दें फॉर एग्जांपल लेट्स क्रिएट अनदर क्लास एक नॉर्मल से हम क्लास क्रिएट करते हैं लेट्स सपोज दिस इज अ क्लास कॉल्ड पर्सन पर्सन क्लास के अंदर हम एक एट्रिल बनाते हैं नेम जिसके अंदर हम स्टोर करा रहे हैं एनोनिमस इस तरीके से हमने क्लास बना दी अब p1 इ इक्वल टू दिस न्यू पर्सन जो हमारे लिए क्रिएट हुए हैं अगर हम यहां पर p1 ड नेम प्रिंट करवाने की कोशिश करेंगे तो अब हमारे पास आएगा वी नो एरर क्यों आ रहा है क्योंकि यहां पर हमने डबल अंडरस्कोर को यूज किया है इसे रन करेंगे तो यहां पर हमारे पास एरर आ जाएगा तो यह चीज क्या हो गई ये चीज एक तरीके से कांसेप्चुअली प्राइवेट हो गई ऐसे ही हम मेथड्स को भी प्राइवेट बना सकते हैं फॉर एग्जांपल इफ आई डिफाइन अ मेथड कॉल्ड हेलो जो क्या प्रिंट करता है जो प्रिंट करता है हेलो यूजर इस तरीके से कुछ प्रिंट करता है या हेलो पर्सन कुछ इस तरीके से प्रिंट करता है तो अब एक नॉर्मल मेथड की तरह इसे यहां पर कॉल कर पाना पॉसिबल नहीं है मतलब अगर हम सोचे कि हम यहां पर इस तरीके से हेलो लिख देंगे तो यह चीज पाइथन के अंदर पॉसिबल नहीं है इसके अंदर क्या होगा इसके अंदर भी हमारे पास एरर आ जाएगा कि पर्सन ऑब्जेक्ट हैज नो ट्रिब्यूट कॉल्ड हेलो क्योंकि यहां पर हमने अंडरस्कोर अंडरस्कोर को यूज कर लिया है अब यहां पे एज अ बिगनर हमारे दिमाग में सवाल आ सकता है कि हमने फिर ऐसा फंक्शन ही क्यों बनाया है जिसे हम ऑब्जेक्ट के साथ कभी यूज ही नहीं कर सकते क्योंकि इस तरीके के फंक्शन होते हैं जनरली जिनको इंटरनली कोई दूसरा ही फंक्शन यूज करना चाहते हैं फॉर एग्जांपल हम यहां पर वेलकम नाम का एक और फंक्शन बनाते हैं एंड दिस इज अ कंपलीटली नॉर्मल फंक्शन यह नॉर्मल हमारा मेथड है और यह क्या करता है यह पहले हेलो को प्रिंट करवाएगा कुछ इस तरीके से एंड उसके बाद या हेलो के अंदर यह क्या पास करता है यह अपना नेम पास करता है दिस इज गोइंग टू बी सेल्फ डॉट नेम इनफैक्ट यहां पर भी हम सेल्फ कर देते हैं एंड फिर हमारा नेम वैल्यू हमारे पास आ जाएगी तो यह हेलो फंक्शन को कॉल लगाएगा और उसके अंदर सेल्फ का यानी अपना नेम पास करेगा ऐसे अंडरस्कोर अंडरस्कोर कह देते हैं और यह वेलकम फंक्शन क्या कर रहा है यह वेलकम फंक्शन हेलो को कॉल कर रहा है तो ये चाहे तो कंप्लीट हेलो को कॉल कर सकता है यहां पर भी सेल्फ लिख देते हैं अब पर्सन को हम कह रहे हैं कि पर्सन वेलकम कर सकता है पर कभी हेलो नहीं बोल सकता वेलकम लेकिन हेलो को बोल सकता है क्योंकि वो इंटरनली क्लास का मेथड है तो इस तरीके से चीजें वर्क करती हैं तो p1 अब क्या करेगा p1 अब वेलकम को कॉल करेगा क्योंकि ये चीज करना पॉसिबल है और वेलकम उसके लिए सेल्फ डॉट हेलो को कॉल कर रहा होगा इस कॉल के अंदर हमारे पास कोई एरर नहीं आएगा लेट्स सेव इट एंड रन इट तो क्या प्रिंट हो गया प्रिंट हो गया हमारे पास हेलो पर्सन और हमारे पास कोई एरर नहीं आया तो कैसे वर्क कर रही है चीजें चीजें ऐसे वर्क कर रही है कि अगर किसी चीज को हमने डबल अंडरस्कोर से प्राइवेट बना दिया तो उसे सिर्फ क्लास के जो इंटरनल फंक्शंस हैं वही एक्सेस कर पाएंगे बाहर कोई उसे एक्सेस नहीं कर पाएगा दिस इज बेसिकली डन टू प्रिवेंट एक्सपोजिंग आवर इंस्टेंस एटिबल आउटसाइड साइड ऑफ़ द क्लास तो एक बार इसकी डेफिनेशन देख लेते हैं प्राइवेट एट्रिक्स एंड मेथड्स आर मेंट टू बी यूज्ड ओनली विद इन द क्लास एंड नॉट एक्सेसिबल फ्रॉम आउटसाइड द क्लास नेक्स्ट कांसेप्ट जिसके बारे में हम बात करेंगे जो काफी इंपॉर्टेंट कांसेप्ट है दिस इज कॉल्ड इन्हेरिटेंस अब इन्हेरिटेंस जो हमने ऑलरेडी बात की थी हमारी जो ऊप्स होते हैं ऊप्स के चार मेन पिलर्स होते हैं जिनमें से दो हम ऑलरेडी पढ़ चुके हैं एब्स्ट्रैक्टर एनकैप्सूलेशन तीसरा पिलर अब हम पढ़ने वाले हैं व्हिच इज कॉल्ड इन्हेरिटेंस और इन्हेरिटेंस काफी इंपॉर्टेंट और काफी इजी टॉपिक है टू बी ऑनेस्ट जैसे रियल लाइफ के अंदर हम कई सारी चीजें इन्हेरिटेंस हमारे जो पेरेंट्स हैं वह अपने अच्छे वैल्यूज हमारे ऊपर पास ऑन करते हैं तो हमने क्या किया एक तरीके से उनके जो गुड वैल्यूज हैं वो इन्हेरिटेंस ने अपने जो वैल्यूज हैं वह हमारी ग्रैंड पेरेंट से इन्हेरिटेंस से चाइल्ड की तरफ चीजें क्या होती है इन्हेरिटेंस वैसा ही कुछ कांसेप्ट इन्हेरिटेंस का जब एक जनरेशन ऑफ क्लास से दूसरी जनरेशन ऑफ क्लास में हम कुछ भी चीज़ पास करें उसे हम इन्हेरिटेंस कहते हैं प्रोग्रामिंग के अंदर अब इसका क्या मतलब होता है इसका यह मतलब होता है कि व्हेन वन क्लास डिराइवर ऑफ अनदर क्लास फॉर एग्जांपल जो कार है उसके अंदर एक स्टार्ट कार कैसे स्टार्ट होती है उसका एक अलग मेथड होगा कार कैसे स्टॉप होती है उसका एक अलग मेथड होगा और इस कार के अंदर एक कलर प्रॉपर्टी भी हो सकती है तो कार के अंदर ऑलरेडी कार को स्टार्ट और स्टॉप करने का लॉजिक लिखा हुआ है अब कल को ओन कार फैक्ट्री तो क्या कर सकते हैं हम लिख चुके हैं कोड के अंदर हम क्या करेंगे उस लॉजिक को इन्हेरिटेंस लॉजिक को डिराइवर करेंगे ले लेंगे कार वाली क्लास से और कैसे ले लेंगे जब हम या फिर मेथड्स मेथड्स भी हम इन्हेरिटेंस देखते हैं एक बार कोड के अंदर फॉर एग्जांपल वी क्रिएटेडॉक्युमेंट्सफ्रैगमेंट हमारे पास है हम चाहे तो इन मेथड्स को स्टैटिक भी रख सकते हैं बाकी इनके अंदर एस सच कार ऑब्जेक्ट यूज नहीं हो रही इसीलिए मैंने इन मेथड्स को स्टैटिक बनाया वी कैन कॉल इट स्टॉप स्टॉप मेथड क्या करेगा य कार को स्टॉप कर देगा कार कार स्टॉप्ड इसे फिक्स कर लेते हैं तो यह हो गई हमारी कार क्लास जिसके अंदर हमारे पास दो सिंपल मेथड्स है अब हम एक और क्लास बनाने वाले हैं जिसे हम कहेंगे योटा कार योटा कार एंड टू शो इन्हेरिटेंस हम यहां पर पेंसिस लगाने वाले हैं और उसके अंदर अपनी क्लास का नाम लिख देंगे जिसकी प्रॉपर्टीज एंड मेथड्स को हम इरेट करना चाहते हैं एंड फिर हम टोयोटा कार को डिफाइन कर सकते हैं लेटस सपोज इस कार के अंदर देर समथिंग कॉल्ड नेम तो लेट्स क्रिएट आवर कंस्ट्रक्टर इसके अंदर वल गेट सेल्फ एंड वील गेट नेम तो सेल्फ डॉट नेम इ इक्वल टू नेम एंड अब हम अपनी कार को क्रिएट करने वाले हैं सो माय कार वन इज इक्वल टू अ toyota.in और यह चीज बिल्कुल वर्क करेगी इसके अंदर कोई एरर नहीं आएगा क्योंकि हमारी इस क्लास के अंदर हमने कारबन को ऑलरेडी एक नाम दे दिया तो जब रन करेंगे कोई एरर नहीं आएगा और हमारे लिए कार वन का नेम प्रिंट हो जाएगा बट इफ आई ट्राई टू डू समथिंग लाइक दिस कावड स्टार्ट तो इस केस में क्या एक्सपेक्टेड होना चाहिए इस केस में हो सकता है हम सबसे पहले चेक करें व्हेन वी रन इट तो हमारे पास प्रिंट हो जाएगा कार स्टार्टेड तो इस तरीके से हम अपनी प्रॉपर्टीज एंड अपने मेथड्स को इन्हेरिटेंस अब लेट्स सपोज यहां पर हम कोई और प्रॉपर्टी डिफाइन करते जैसे कलर को हम यहां पर पहले से ही स्पेसिफाई कर देते एज ब्लैक तो हम उस चीज को यहां पर भी यूज़ कर पाते कार 1 कलर एंड वह प्रॉपर्टी भी हमारे लिए प्रिंट हो जाती है आकर अब इन्हेरिटेंस को हम तीन डिफरेंट टाइप्स के अंदर कैटेगरी इज करते हैं दीज आर द थ्री डिफरेंट टाइप्स ऑफ इन्हेरिटेंस सबसे पहली होती है हमारी सिंगल इन्हेरिटेंस या इसे सिंगल लेवल इन्हेरिटेंस भी बोल सकते हैं इस इन्हेरिटेंस टाइप के अंदर बेसिकली हमारे पास एक सिंगल पेरेंट क्लास होती है या इसे हम बेस क्लास बोल सकते हैं एंड उससे एक सिंगल डिराइवर इन्हेरिटेंस एक सिंगल पेरेंट क्लास है और सिंगल चाइल्ड क्लास है अब नेक्स्ट एग्जांपल जिसको हम देखेंगे वो होगा मल्टीलेवल इन्हेरिटेंस का मल्टी लेवल इन्हेरिटेंस कहने का मतलब है कि एक बेस क्लास हो गई बेस क्लास से प्रॉपर्टीज किसी डिराइवर वो सारी प्रॉपर्टीज मतलब फर्स्ट यह जो फर्स्ट क्लास है इसकी प्रॉपर्टी सेकंड क्लास इसकी प्रॉपर्टीज दोनों की प्रॉपर्टीज हमारी इस थर्ड राइड क्लास के अंदर जा रही होंगी तो इसमें एग्जांपल हम यह ले सकते हैं कि यहां पर लेट्स सपोज यह हमारी कार के कुछ कुछ बेसिक मेथड है जो हर एक कार के अंदर होते हैं यहां से कलर को हम रिमूव कर देते हैं एंड उसके बाद एक योटा कार नाम से हमने ऑलरेडी क्लास बनाई हुई है इसके अंदर नेम को हटा के हम सिर्फ क्या करेंगे हम यहां ब्रांड को ऐड कर देंगे तो नेम की जगह अब हमारे पास सिंपली यहां पे ब्रांड आ जाएगा और अब इंडिविजुअल ब्रांड की कार जैसे एक टाइप रख लेते हैं व्हाट इज द टाइप गोइंग टू बी इज द 4tune के अंदर हम टाइप को स्टोर करा देंगे अब सारी प्रॉपर्टीज हैं जो कि ब्रांड हो गया बेसिकली वह एंड अब हम क्या करेंगे अब हम कार वन के लिए स्टार्ट मेथड को कॉल करने वाले हैं और यह जो स्टार्ट मेथड है कार वन के लिए यह एंड थर्ड क्लास को हमने एक और ब्रांड दे दिया है कल को हो सकता है एक और फैक्ट्री सेटअप हो जाए जो फिर से दिस इज माय डिराइवर सिंपल सी हम क्लास बनाएंगे इसका हम एक एग्जांपल देखने वाले हैं लेट्स सपोज हमने क्लास क्रिएट की ए यह मेरी ए क्लास है जिसके अंदर हम कोई भी वेरिएबल बना सकते हैं लेटस सपोज वेरिएबल ए है सम वैल्यू च इज वेलकम टू क्लास ए इस तरीके से हमारी क्लास हो गई एंड एक क्लास है हमारे पास हमारी बी क्लास बी क्लास के अंदर देयर इज समथिंग कॉल्ड अ वेरिएबल बी जिसके अंदर हम लिख रहे हैं वेलकम टू क्लास बी एंड फिर हमने क्लास बनाई सी और यह क्या हैय हमारी चाइल्ड क्लास है और यह क्या करेगी ए और बी दोनों की प्रॉपर्टीज को इन्हेरिटेंस से आप चीजें इन्हेरिटेंस वेरिएबल या कुछ भी क्रिएट कर सकते हैं वेलकम टू क्लास सी तो जब हम सी का एक नया ऑब्जेक्ट बनाएंगे तो उसके लिए हम प्रिंट करवा सकते हैं c1 वेरिएबल c साथ के साथ हम उसके लिए प्रिंट करवा सकते हैं c1 वेरिएबल बी एंड वेरिएबल a तो प्रिंट c1 वेरिएबल a इसको सेव कर लेते हैं रन करते हैं तो हमारे लिए तीनों की तीनों चीजें प्रिंट होकर आएंगी कोई एरर नहीं आएगा क्योंकि ये सारी प्रॉपर्टीज इसने क्या की है इन्हेरिटेंस जो हम पढ़ते हैं अब नेक्स्ट हम बात करने वाले हैं एक और इंटरेस्टिंग कांसेप्ट के बारे में च इज रिलेटेड टू इन्हेरिटेंस जो है हमारा सुपर मेथड सुपर मेथड एक स्पेशल मेथड होता है क्लासेस के अंदर व्हिच इज यूज टू एक्सेस मेथड्स ऑफ द पेरेंट क्लास फॉर एग्जांपल इस बेसिक एग्जांपल के साथ दोबारा से स्टार्ट करते हैं इन चीजों को हम हटा सकते हैं एंड एक कंस्ट्रक्टर क्या करेंगे अपने कार मेथड के लिए भी क्रिएट करेंगे बेसिकली हर कार का एक टाइप हो सकता है या फ्यूल टाइप या कुछ भी हम इसे कह सकते हैं इज इट गोइंग टू बी डीजल इज इट गोइंग टू बी पेट्रोल या इलेक्ट्रिक क्या होने वाला है तो ये एक हमने नॉर्मल सी एक क्लास बना ली क्लास के अंदर क्या किया हमने कंस्ट्रक्टर डिफाइन किया जिसके अंदर हम टाइप ले रहे हैं और फिर हमने दो स्टैटिक मेथड्स को क्रिएट किया फिर हमने क्या किया क्लास न्यू कार ऑफ हम उसका टाइप भी दे देते हैं मैं एक इलेक्ट्रिक प्रियस क्रिएट करने वाली हूं आई डोंट नो इफ इट एजिस्ट ऑर नॉट बट लेट्स सपोज हमारा टाइप इलेक्ट्रिक है तो यहां पे एक और वेरिएबल हमारे पास आ जाएगा टाइप अब ये जो टाइप है ये हमारे पास यहां पर तो आ गया बट ये वाली चीज यहां पर कैसे आएगा अब ये जो टाइप वेरिएबल है इसे हमने यहां पर तो लिख दिया पर अगर मैं कुछ इस तरीके से लिखूं सेल्फ डॉ टाइप = टाइप तो उसका मतलब तो क्रिएट होगा पर मुझे टकिंग अबाउट द पेरेंट क्लास जिसकी प्रॉपर्टीज को हम इन्हेरिटेंस हैं हम लिख सकते हैं सुपर एंड फिर अपने पेंसिस डॉट अब सुपर क्लास के अंदर ये मेरी सुपर क्लास हो गई और जैसे ही हमने डॉट लिखा इसके सारे मेथड्स आने स्टार्ट हो जाएंगे इसके अंदर एक मेथड है स्टार्ट इसके अंदर एक मेथड है स्टॉप ऐसे ही इसके अंदर हमारा कंस्ट्रक्टर मेथड है जिसके अंदर अब हम अपना टाइप जो है उसे पास कर सकते हैं तो इस तरीके से हमने टाइप को पास कर दिया तो बेसिकली सुपर क्लास के अंदर कंस्ट्रक्टर कॉल हो जाएगा जिसमें टाइप मेथड ऑलरेडी चला गया अब जब हम यहां पर कारबन ड टाइप लिखेंगे तो हमारे पास कोई एरर नहीं आएगा व्हेन वी रन इट वी गेट आवर टाइप टू बी इलेक्ट्रिक यही सेम चीज इन फैक्ट हम एट द स्टार्ट ऑफ द कंस्ट्रक्टर कर सकते हैं ताकि पैरेंट क्लास की जो प्रॉपर्टीज हैं वो पहले सेट हो जाए तो वैसे एज सच फंक्शनैलिटी वाइज इसके अंदर कोई सिग्निफिकेंट चेंज नहीं आएगा बट इस तरीके से हम अपने सुपर कंस्ट्रक्टर को यूज कर सकते हैं इनफैक्ट अगर हम चाहते हैं कि कार जैसे ही क्रिएट हो ज जैसे ही यह वाली नई कार क्रिएट हुई वैसे मुझे कार को स्टार्ट भी करना है तो कार को सिंपली स्टार्ट करने के लिए हम लिख सकते हैं सुपर डॉट स्टार्ट तो जो सुपर क्लास है उसका स्टार्ट मेथड कॉल हो जाएगा और कार स्टार्ट भी हो जाएगी सो द कार है ऑलरेडी स्टार्टेड तो इस तरीके से कभी भी अगर हम अपनी पेरेंट क्लास के किसी भी मेथड को कॉल करना है तो हम सुपर के थ्रू उन्हें एक्सेस कर सकते हैं नेक्स्ट हम बात करने वाले हैं अबाउट क्लास मेथड अभी तक हमने बात की थी स्टैटिक मेथड डेकोरेटर की स्टैटिक मेथड जो हमारा स्टैटिक मेथड डेकोरेटर था वो कुछ इस तरीके का दिखता था जिससे हम किसी भी मेथड को स्टैटिक बना सकते थे कोई भी मेथड स्टैटिक होने का यह मतलब होता है कि हर नई इंस्टेंस के लिए हर नई ऑब्जेक्ट के लिए वो मेथड बार-बार क्रिएट नहीं होगा वो मेथड पूरी क्लास के लिए कॉमन रहेगा सारी ऑब्जेक्ट्स के लिए एक ही बार मेथड क्रिएट होगा और सारी ऑब्जेक्ट्स उसको यूज़ कर सकती हैं क्योंकि स्टैटिक मेथड इंस्टेंस एटिबल को चेंज करता ही नहीं नाउन है वो एक्सेस करता है तो तो उसे जरूरत ही नहीं है हर ऑब्जेक्ट के लिए बार-बार क्रिएट होने की पर स्टैटिक मेथड्स के साथ प्रॉब्लम ये होती है दैट दे कांट एक्सेस और मॉडिफाई क्लास स्टेट एंड दे आर जनरली यूज्ड फॉर यूटिलिटी यानी अगर हमें कुछ ऐसा काम कराना है ना जिसमें ना क्लास के एटिबल यूज हो रहे हैं ना इंस्टेंस एटिबल यूज हो रहे हैं उनके लिए जनरली पाइथन के अंदर हम अपने स्टैटिक मेथड्स को यूज करते हैं जैसे यहां पर हमने ये जो स्टार्ट मेथड बनाया हुआ है इसके अंदर एज सच कोई एट्रियो यूज नहीं हो रहा तो इसे हमने स्टैटिक मेथड बना दिया इसके अंदर भी कोई एट्रिल यूज नहीं हो रहा तो इसे भी हमने स्टैटिक थड बना दिया बट लेट्स सपोज हम एक क्लास बनाते हैं लेट्स स्टार्ट विद अ बेसिक क्लास कॉल्ड पर्सन पर्सन के अंदर लेट्स सपोज हमारे पास एक क्लास एटिबल है जिसके अंदर हमने नेम को स्टोर कराया है एज एनोनिमस अब हम क्या करते हैं इसके अंदर हम एक चेंज नेम नाम से मेथड बनाते हैं या चेंज नेम ही रख लेते हैं इसे जिसके अंदर हमारे पास सेल्फ आएगी हमारे पास नया वाला नेम आएगा और हम लिख देंगे सेल्फ डॉट नेम इक्वल टू नेम हमारी अजमन यह होगी कि यह वाला नेम जो एनोनिमस था पहले अब वो चेंज हो जाएगा तो एक पर्सन बना देते p1 इ इक्वल टू दिस न्यू पर्सन एंड p1 के लिए हम चेंज नेम को कॉल करना चाहते हैं और इसको एनोनिमस की जगह वी वांट टू नेम दिस गाय राहुल कुमार और फिर हम p1 के लिए नेम को प्रिंट करना चाहते हैं तो इसे सेव कर लेते हैं एंड रन करते हैं तो हमारे लिए नेम क्या हो गया राहुल कुमार हो गया p1 का जो नेम है वह हमारे लिए राहुल कुमार हो गया बट इंटरेस्टिंग व्हेन आई ट्राई टू प्रिंट पर्सन डॉट नेम यानी क्लास का नाम डॉट नेम तो इससे क्या होगा क्लास एट्रिल जो है उसे हम एक्सेस कर पाएंगे यानी इस वाले एटिबल को तो जब हम इसे रन करेंगे तो हमारे पास वो नेम अभी भी एनोनिमस है पर हमें तो इस क्लास एटिबल को चेंज करना था पर जैसे ही हम किसी नॉर्मल मेथड के अंदर यह काम करने की कोशिश करते हैं वो क्या करता है यहां पे ये जो नेम है ये क्लास एटिबल की बात नहीं हो रही ये एक नया ही नेम एटिबल क्रिएट कर रहा है फॉर माय इंस्टेंस फॉर माय ऑब्जेक्ट इसे अगर थोड़ा सा और ध्यान से मैं समझाऊं तो बेसिकली यह हमारी क्लास थी लेट्स सपोज दिस इज माय क्लास क्लास के अंदर दिस इज माय ऑब्जेक्ट अब क्लास के अंदर पहले से ही कोई नेम नाम का एट्रियो था जिसके अंदर वैल्यू थी एनोनिमस अब हमने क्या किया हमने कोशिश की कि ऑब्जेक्ट के एक मेथड से मैं इस एनोनिमस को चेंज कर दूं पर वो डायरेक्टली चेंज नहीं हो पाया जैसे ही हमने लिखा सेल्फ ड नेम इ इक्व टू नेम उसके अंदर क्या हुआ ऑब्जेक्ट के अंदर एक नया नेम क्रिएट हो गया जिसको हमने कह दिया राहुल कुमार यह चीज हो गई तो बेसिकली क्लास का नेम अलग हो गया ऑब्जेक्ट का नेम अलग हो गया तो सेल्फ नेम ने क्या कर दिया चेंज नेम ने उसके लिए एक नया नेम क्रिएट कर दिया ये स्टेटमेंट लिखने से बट हमें वो नहीं करना हमें तो क्लास एटिबल को चेंज करना है अब क्लास एटिबल को चेंज करने के कई सारे इनडायरेक्ट तरीके होते हैं जैसे फॉर एग्जांपल यहां पर हमने लिख दिया पर्सन डट नेम इज इक्वल टू नेम ये एक तरीका हो सकता है अपने क्लास एटिबल को चेंज करने का तो जब हम इस तरीके से अपने क्लास एटिबल को चेंज करेंगे तो उससे p1 ड नेम राहुल कुमार ही होगा और इनफैक्ट प्रिंट भी करवा लेते हैं और पर्सन डॉट नेम भी भी राहुल कुमार होगा लेट्स सेव इट एंड रन तो अब क्या हुआ दोनों जगह चेंज होकर आ गया मतलब पर्सन डॉट नेम लिखने से यानी क्लास के अंदर इस एटिबल करने के लिए यह लिखने से अब हमारा यह जो नई वाली चीज है यह क्रिएट नहीं हुई अब इसी के अंदर सारे के सारे नए चेंजेज हो गए एक तो यह तरीका है दूसरा तरीका होता है बेसिकली हम लिखें सेल्फ डॉट अंडर अंडर क्लास यह चीज जो यहां पर आ रही है अंडरस्कोर अंडरस्कोर इसे बेसिकली जिस भी ऑब्जेक्ट सेल्फ का मतलब ऑब्जेक्ट होता है जिस भी ऑब्जेक्ट की हम क्लास के अंदर चेंज करना चाहते हैं उसकी हम क्लास को एक्सेस कर सकते हैं तो यहां दिखा रहे है द क्लास इज इक्वल टू पर्सन एंड फिर अब हम यहां पर क्या बात कर रहे हैं इसका मतलब बेसिकली पर्सन ही होता है द पर्सन क्लास और अब इसके हम किसी भी एट्रबीक हैं यानी नेम को एक्सेस कर लिया तो भी यहां पर राहुल हो गया डिलीट करेंगे दोबारा प्रिंट करेंगे तो भी सेम रिजल्ट हमारे पास आएगा तो या तो हम लिख सकते हैं सेल्फ ड क्लास डॉट समथिंग या फिर हम लिख सकते हैं अपनी क्लास का नाम डॉट समथिंग अब यह तरीके तो किए जा सकते हैं पर अगर हम चाहते हैं कि हमारे फंक्शन के अंदर ही हम अपनी क्लास को डायरेक्टली एक्सेस कर पाए तो उसको लिखने का तरीका होते हैं हमारे क्लास मेथड्स यानी जो काम स्टैटिक मेथड्स नहीं कर सकते क्लास एट्रिंजाइट बाउंड टू द क्लास एंड रिसीव द क्लास एज एन इंप्लीड फर्स्ट आर्गुमेंट एक जो नॉर्मल हम मेथड क्रिएट करते आए हैं ना अभी तक जैसे चेंज नेम हो गया जिसमें सेल्फ आ गया सेल्फ का मतलब है ऑब्जेक्ट व्हाट इज दिस दिस इज बेसिकली आवर ऑब्जेक्ट जैसे ये एक नॉर्मल मेथड होता है इंस्टेंस मेथड वैसे ही हमारे पास क्लास मेथड्स भी होते हैं जिसमें फर्स्ट आर्गुमेंट सेल्फ की जगह क्लास होता है और इसे लिखने के लिए हम अपना क्लास मेथड डेकोरेटर यूज़ करते हैं और फिर लिखते हैं डेफिनेशन एंड उसके बाद अपने फंक्शन का नाम और उसमें फर्स्ट आर्गुमेंट की तरह हम अपनी क्लास को लेते हैं जैसे यहां पर अगर यही सेम काम करना होता मुझे तो हम एक और नया फंक्शन बना सकते थे वी विल कॉल इट क्लास मेथड एंड इसे हम लिख सकते हैं डेफ चेंज नेम एंड चेंज नेम के अंदर इस बार फर्स्ट जो आर्गुमेंट होगा वो हमारे पास होगा क्लास क्लास तो कीवर्ड हो जाएगा खैर इसे हम सीएलएस लिखेंगे एंड इसके अंदर नया नेम आ सकता है और जैसे ही इसके अंदर सए ड नेम इ टू नेम हम करेंगे अब ये चेंज डायरेक्टली कहां पे होगा ये चेंज डायरेक्टली मेरे क्लास के एटिबल है इसको सेव कर लेते हैं एंड रन करते हैं तो इस बार क्लास के एट्रिल में चेंज डायरेक्टली हुआ है यह वाली जो चीज है दिस इज नॉट सेल्फ दिस इज एक्चुअली रेफरिंग टू द क्लास तो इस डेकोरेटर ने क्या किया क्लास मेथड डेकोरेटर ने इस फंक्शन को लिया और एक और नया बेटर फंक्शन रिटर्न कर दिया जो डायरेक्टली क्लास के एट्रबीक है अब यहां पे इस पॉइंट पे हमें छोटा सा कंफ्यूजन आया होगा एक चीज के अंदर कि अब बेसिकली हमारे पास तीन टाइप के फंक्शंस हो गए हैं पहला टाइप का फंक्शन है हमारे स्टैटिक मेथड या मेथड जिन्हे बोल लेते हैं सेकंड टाइप के मेथड्स है हमारे क्लास मेथड्स और थर्ड टाइप के मेथड्स है हमारे नॉर्मल मेथड्स या इनको मैं कह दूं इंस्टेंस मेथड्स इंस्टेंस मेथड्स आर मेथड्स बेसिकली इंस्टेंस मेथड्स वो है जिनके अंदर सेल्फ एज एन आर्गुमेंट आता है क्लास मेथड्स वो है जिनके अंदर क्लास एज अ फर्स्ट इंप्ली सिट आर्गुमेंट आता है और स्टैटिक मेथड्स वो है जो क्लास या इंस्टेंस दोनों में से किसी के एटिबल को चेंज या एक्सेस नहीं करते तो बेसिकली जब हमें ऐसा कुछ काम कराना है जिसमें हम क्लास या फिर इंस्टेंस के किसी मेथड को टच नहीं कर रहे ना उसे हम ना उसकी प्रॉपर्टीज को हम यूज़ कर रहे हैं तो वहां पे हम स्टार्टिंग मेथड यूज़ करेंगे जब हमें सिर्फ क्लास एट्रबीक यूज़ करना है इंस्टेंस एटिबल को वहां हम इंस्टेंस मेथड्स को यूज़ करेंगे तो ये तीन तरीके के डिफरेंट डिफरेंट मेथड्स हैं क्लासेस के अंदर जिनको हमने पढ़ लिया है अब नेक्स्ट हम बात कर करने वाले एक और डेकोरेटर के बारे में व्हिच इज द प्रॉपर्टी डेकोरेटर फॉर एग्जांपल वी क्रिएट अ क्लास कॉल्ड स्टूडेंट स्टूडेंट क्लास को हमने क्रिएट कर लिया अब स्टूडेंट के अंदर एक हम अपना कंस्ट्रक्टर डिफाइन करते हैं कंस्ट्रक्टर के अंदर सेल्फ आ गया और हमारे पास तीन सब्जेक्ट्स के मार्क्स आ गए कोई भी तीन सब्जेक्ट हम ले सकते हैं फिजिक्स केमिस्ट्री मैथ ले लेते हैं दीज आर बेसिकली आर वैल्यूज तो हम क्या करते हैं सबसे पहले तो सेल्फ डॉट केमिस्ट्री इक्वल टू केमिस्ट्री एंड सेल्फ डॉट मैथ इ इक्वल टू मैथ ये तीन डिफरेंट सब्जेक्ट्स के हमारे पास मार्क्स आ गए अब हम चाहते हैं कि इस स्टूडेंट क्लास के लिए हमारे पास एक और एटिबल परसेंटेज एटिबल इस क्लास के अंदर हम क्रिएट करना चाहते हैं तो या तो हम उसे यही क्रिएट कर सकते हैं वी कैन राइट सेल्फ डट परसेंटेज परसेंटेज क्या हो जाएगी परसेंटेज विल बी इक्वल टू तीनों सब्जेक्ट्स के मार्क्स च विल बी सेल्फ डॉट फिजिक्स प्लस सेल्फ डॉट केमिस्ट्री प्लस सेल्फ डॉट मैथ डिवाइडेड बाय 3 यह क्या हो जाएगी हमारी परसेंटेज हो जाएगी और इसको अगर मुझे स्ट्रिंग के अंदर कन्वर्ट करना है आई कैन टाइप कास्ट ऑल ऑफ दिस टू स्ट्रिंग एंड इसके अंदर फिर हम एक परसेंटेज का साइन भी ऐड कर देंगे तो ये बेसिकली मेरी परसेंटेज हो जाएगी एक नई नया स्टूडेंट क्रिएट करके देखते हैं दिस इज माय स्टूडेंट वन जिसके लिए कुछ वैल्यूज पास कर लेट्स सपोज हमने मार्क्स जो हैं उनको पास कर दिया एंड फिर हम क्या प्रिंट करवा रहे हैं फिर हम प्रिंट करवा रहे हैं स्टूडेंट की ट 1 ड परसेंटेज बहुत सिंपल तरीके से तो हमारे स्टूडेंट की परसेंटेज आ गई 98.7 पर अभी तक कुछ एस सच प्रॉब्लमैटिक नहीं है सारी चीजें सिंपल है अब बस एक छोटा सा सिनेरियो इमेजिन करते हैं लेट्स सपोज कल को टीचर ने क्या किया पेपर्स को रिचेक किया और उन्हें पता चला स्टूडेंट ने ये जो 98 स्कोर किए फिजिक्स के अंदर दिस शुड एक्चुअली बी 86 यह गलती से उनका स्कोर 98 आ गया तो टीचर क्या करेगा टीचर सिंपली लिख देगा स्टूडेंट वन के जो फिजिक्स के मार्क्स हैं दे आर सपोज टू बी 86 लिख दिया स्टूडेंट ने टीचर ने और जब हम अब प्रिंट करवाएंगे स्टूडेंट वड फिजिक्स मार्क्स तो वो चेंज आ भी जाएगा वो चेंज आ गया इट इज इक्वल टू 86 बट द प्रॉब्लम इज कि जब हम स्टूडेंट की परसेंटेज अब दोबारा प्रिंट करवाएंगे वो परसेंटेज ऑटोमेटिक चेंज नहीं होगी परसेंटेज तो पुराने मार्क्स के हिसाब से सेट हो गई ये जो वैल्यू है ये जो परसेंटेज की वैल्यू है वो तो ओरिजिनल वैल्यूज के हिसाब से सेट हो गई पर हम चाहते हैं जैसे ही मार्क्स चेंज हो वैसे ही परसेंटेज भी चेंज होनी चाहिए नहीं तो परसेंटेज गलत हो जाएगी तो ऐसे केसेस के लिए जब हम किसी भी ट्रिब्यूट को फिक्स्ड वैल्यू नहीं दे सकते तो उसकी वैल्यू किसी ना किसी दूसरे पैरामीटर्स के ऊपर या किसी कैलकुलेशन के ऊपर डिपेंड करेगी तो हम यहां पे एक लेट्स सपोज मेथड बना सकते हैं एंड वी कैन कॉल इट कैलकुलेट परसेंटेज हमने एक मेथड बना दिया जिसको हम कह रहे हैं कैलकुलेट परसेंटेज अब कैलकुलेट परसेंटेज में हमें पता है कि सेल्फ इस मेथड के अंदर हमेशा परसेंटेज की वैल्यू यह होनी चाहिए तो बेसिकली पहले हम मार्क्स को चेंज करेंगे फिर हम स्टूडेंट के लिए कैलकुलेट परसेंटेज को दोबारा कॉल करेंगे फिर उसकी परसेंटेज चेंज हो जाएगी यह बिल्कुल ठीक तरीका है इसके अंदर एस सच कोई प्रॉब्लम नहीं है बट इसी चीज को करने का एक और और बेटर और सिंपलर तरीका होते हैं हमारे पास प्रॉपर्टी डेकोरेटर्स तो बेसिकली वी यूज प्रॉपर्टी डेकोरेटर ऑन एनी मेथड इन द क्लास टू यूज द मेथड एस अ प्रॉपर्टी तो बेसिकली इस कैलकुलेट परसेंटेज फंक्शन का क्या काम है इसका काम बस परसेंटेज को ही कैलकुलेट करना है जो नॉर्मल क्या है जो नॉर्मल एक एट्रबीक रहे हैं पर जब एक एट्रीशनल फंक्शन को ही हम अपनी प्रॉपर्टी बना सकते हैं प्रॉपर्टी कहने का मतलब है यहां पे एट्रिमेद तरीका होता कि हम यहां पर लिखते रेट प्रॉपर्टी एंड उसके बाद हम एक फंक्शन बनाते जिसमें हम अपने एट्रिका नाम लिखेंगे मेरे एट्रिका नाम है बेसिकली परसेंटेज मुझे परसेंटेज कैलकुलेट करनी है परसेंटेज के अंदर हमारे पास सेल्फ आ जाएगा और हमें इस वैल्यू को रिटर्न करना है दिस इज बेसिकली बाय परसेंटेज तो मेरा ये जो मेथड है मेरी प्रॉपर्टी की वैल्यू को रिटर्न करेगा तो डेफ परसेंटेज परसेंटेज वैसे तो मेथड का नाम हो गया और इसके अंदर ये वैल्यू रिटर्न हो रही है ब जो भी ये वैल्यू रिटर्न होगी वो बेसिकली एक प्रॉपर्टी में कन्वर्ट हो जाएगी यानी एक एट्र में कन्वर्ट हो जाएगी और अब जब मैं अपने फिजिक्स के मार्क्स चेंज करूंगी तो यहां पे क्या होगा यहां पर मुझे ये सारी कैलकुलेशंस करने की जरूरत नहीं पड़ेगी मतलब कोई एक्स्ट्रा मेथड मुझे अलग से कॉल नहीं करना पड़ेगा जैसे ही मैंने मार्क्स चेंज किए वैसे ही मेरी परसेंटेज भी चेंज हो जाएगी लेट्स सेव इट एंड रन ओके यह एरर हमारा आ रहा है बेसिकली इंडेंटेशन की वजह से इस चीज को हटा देते हैं एंड प्रॉपर इंडेंटेशन नहीं किया हमने अब यह चीजें सारी चीजें वर्क करेंगी लेट्स रन इट तो शुरुआत में परसेंटेज क्या थी 98 पर पर जैसे ही फिजिक्स के मार्क्स कम हो गए परसेंटेज गिर के होगी 94 तो इस तरीके से ऑटोमेटिक चेंज हो रहा है अब ऐसा नहीं है क्योंकि जिसको भी हमने ट द रेट प्रॉपर्टी कर दिया वो जैसे ही किसी दूसरे पैरामीटर के अंदर चेंज होगा यहां पे ऑटोमेटिक वो चेंज रिफ्लेक्ट होकर आ रहा होगा तो जब भी अब हम परसेंटेज को एक्सेस करेंगे हमेशा लेटेस्ट जो वैल्यूज हैं उनसे हमारे पास कैलकुलेटेड रिटर्न्स आ रहे होंगे अब लास्ट कांसेप्ट जिसे हम कवर करने वाले हैं दिस इज रिलेटेड टू पॉलीमोर्फस ज्म दोबारा मैं आपको रिवाइज करा देती हूं ऊप्स की जब हमने बात की थी तो शुरुआत में हमने देखा था कि ऊप्स के चार पिलर्स हैं चार में से तीन पिलर्स हम ऑलरेडी पढ़ चुके हैं वी हैव टॉक अबाउट एब्स्ट्रैक्टर एन कैप्सूल लेशन वी हैव टॉक अबाउट इन्हेरिटेंस एंड अब फोर्थ पिलर की हम बात कर रहे हैं जिसका मतलब जिसका नाम होता है पॉलीमोर्फस जम अब पॉली का मतलब पॉली इज बेसिकली मेनी मतलब बहुत सारे और मॉर्फ मतलब फॉर्म्स या चेहरे इस तरीके से हम सोच सकते हैं तो पॉलीमोर्फस जम कहने का मतलब है कि जब एक ही चीज को अलग-अलग तरीकों से यूज किया जा सके तो वो बेसिकली कम्स इन द कैटेगरी ऑफ पॉलीमोर्फस जम और पाइथन के अंदर पॉलीमोर्फस जम का सबसे ब बढ़िया एग्जांपल होता है हमारे पास ऑपरेटर ओवरलोडिंग ऑपरेटर ओवरलोडिंग क्या होता है उसे अभी हम डिटेल में पढ़ने वाले हैं अच्छा एक और एडिशनल चीज यहां पर इफ यू वांट टू स्टडी मोर अबाउट डेकोरेटर्स ये एज अ होमवर्क प्रॉब्लम मैं आपको दे रही हूं व्हाट यू कैन डू इज दो और हमारे पास डेकोरेटर्स होते हैं गेटर एंड सेटर जैसे अभी तक हमने मल्टीपल डेकोरेटर्स को पढ़ लिया है डेकोरेटर्स के अंदर हमने प्रॉपर्टी डेकोरेटर को पढ़ लिया है हमने स्टैटिक मेथड को पढ़ लिया हमने क्लास मेथड को पढ़ लिया है अगर आपको और डेकोरेटर्स के बारे में पढ़ना है यू वांट टू एक्सप्लोर मोर तो हम गेटर एंड सेटर डेकोरेटर्स के बारे में भी जाके पढ़ सकते हैं तो वापस आ जाते हैं पॉलीमोर्फस ज्म की तरफ ऑपरेटर ओवरलोडिंग इज़ बेसिकली व्हेन द सेम ऑपरेटर इज़ अलाउड टू हैव डिफरेंट मीनिंग्स अकॉर्डिंग टू द कॉन्टेक्स्ट यानी ऑपरेटर हमारे पास वही है फॉर एग्जांपल हमारा प्लस ऑपरेटर प्लस डिपेंडिंग अपॉन हम उसे कौन से डेटा टाइप के साथ या कौन सी सिचुएशन में यूज़ कर रहे हैं उसका मतलब चेंज हो जाएगा जैसे इसका एक प्रैक्टिकल एग्जांपल देखते हैं जो ऑलरेडी एजिस्ट करता है अगर हम चाहे तो हम प्रिंट करवा सकते हैं 1 प् 2 यह चीज कंपलीटली पॉसिबल है इसका रिजल्ट क्या आएगा इसका रिजल्ट आएगा ्र यहां पर ऑपरेटर क्या है यहां पर ऑपरेटर है प्लस ऑपरेटर तो हमें पता है प्लस ऑपरेटर का काम नंबर्स को ऐड करना होता है वो इसने यहां पर कर दिया बट इफ आई ट्राई टू प्रिंट अपना विद कॉलेज अब यहां पर भी तो प्लस ऑपरेटर है पर यह वैल्यूज नंबर्स तो है नहीं तो यहां पर प्लस ऑपरेटर का काम क्या होगा यहां पे प्लस ऑपरेटर का काम होगा दो स्ट्रिंग्स को कॉन्कैटिनेट करना और आंसर में हमारे पास दोनों स्ट्रिंग्स का कॉमिनेशन रिटर्न होकर आ जाएगा तो ये क्या हो गया ओवरलोडिंग हो गई प्लस का नंबर्स को जब हम यूज़ कर रहे हैं प्लस का मतलब अलग है और स्ट्रिंग्स को जब हम यूज़ कर रहे हैं प्लस का मतलब अलग है और लिस्ट को जब हम यूज़ कर रहे हैं तब भी प्लस का मतलब अलग है यानी जब मैं प्रिंट करवाऊंगी 1 2 3 + 4 5 6 तो यहां पे यह होगा कि दो लिस्ट्स को हम बेसिकली एक तरीके से मर्ज करने की कोशिश कर रहे हैं तो यहां पे प्लस का मतलब अलग हो जाएगा जबकि प्लस क्या है प्लस तो एक ऑपरेटर है पर क्योंकि यहां पे डिफरेंट डेटा टाइप के हिसाब से डिफरेंट डिफरेंट मीनिंग्स आ गए तो इसी को हम ऑपरेटर ओवरलोडिंग कहते हैं एंड इट इज अ टाइप ऑफ पॉलीमोर्फस ज्म पॉलीमोर्फस ज्म कहता है कि एक ही चीज की मल्टीपल फॉर्म्स है तो ये पहली फॉर्म है ये दूसरी फॉर्म है ये तीसरी फॉर्म है और फॉर्म्स भी हम देखने वाले हैं पर जैसे ही हम इसे सेव करके रन करेंगे हमारे पास अलग-अलग तरीके के आउटपुट्स आएंगे मतलब प्लस का मीनिंग ही चेंज हो गया स्ट्रिंग्स के लिए प्लस का मीनिंग कुछ और है नंबर्स के लिए प्लस का मीनिंग कुछ और है लिस्ट के लिए प्लस का मीनिंग कुछ और है मतलब ऐसा तो नहीं हुआ कि प्लस हमने यहां पे लिख दिया तो यह वन इस फर के साथ जुड़ गया यह टू इस फाइव के साथ जुड़ गया मतलब यह भी तो हो सकता था मीनिंग पर यह नहीं हुआ क्योंकि लिस्ट क्लास के अंदर ऑलरेडी डिफाइंड है प्लस का क्या मीनिंग होगा जब भी हम इस नंबर की बात कर रहे हैं व्हाट इज़ अ नंबर व्हाट इज़ एन इंटी जर इफ आई ट्राई टू प्रिंट टाइप ऑफ़ वन मे पास क्या आएगा मेरे पास आएगा क्लास इंट बेसिकली पाइथन के अंदर ऑलरेडी एक क्लास इंट इंटी जर वाली क्लास एजिस्ट करती है और मैंने कोई भी नंबर कोई भी इंटी जर अगर लिखा वो बेसिकली उस क्लास का एक ऑब्जेक्ट होगा तो यह एक ऑब्जेक्ट है और यह एक ऑब्जेक्ट है और इन ऑब्जेक्ट्स क्योंकि इंटी जर टाइप की है इनके लिए ऑलरेडी उस क्लास इंट के अंदर डिफाइंड है कि प्लस का मतलब है दो नंबर्स को ऐड कर दो ऐसे ही अगर हम यहां पर इफ आई ट्राई टू प्रिंट टाइप ऑफ अपना तो अपना क्या है या कॉलेज क्या है दिस इज बेसिकली क्लास स्ट्रिंग लेट मी रन इट तो ये क्या है क्लास स्ट्रिंग है तो पाइथन के अंदर ऑलरेडी एक स्ट्रिंग क्लास एजिस्ट करती है जिसकी सारी की सारी स्ट्रिंग्स क्या है ऑब्जेक्ट्स हैं तो ये एक ऑब्जेक्ट है ये एक ऑब्जेक्ट है ये एक ऑब्जेक्ट है और इस क्लास स्ट्रिंग के अंदर ऑलरेडी डिफाइंड है कि जब भी प्लस लिखा जाएगा तो उसका क्या मतलब है उसका मतलब है दो स्ट्रिंग्स को ऐड करना ऐसे ही इफ आई ट्राई टू प्रिंट टाइप ऑफ 1 2 एंड 3 तो यहां पे क्या आएगा हमारे पास यहां पे आएगा क्लास लिस्ट तो python3 नंबर के साथ ऐड कर दो यह मतलब नहीं डिफाइंड उस लिस्ट क्लास के अंदर यह डिफाइंड है कि पूरी की पूरी जो लिस्ट है वह मर्ज हो जाएगी जहां पर भी प्लस लिखा जाएगा तो इस तरीके से हर क्लास के अंदर जो डिफरेंट ऑपरेटर्स हैं उनके मतलब डिफाइंड हैं ऑलरेडी डिफरेंट डिफरेंट डेटा टाइप्स के लिए तो ऐसे ही जब हम अपनी खुद की क्लास क्रिएट करते हैं तो हम भी अपने लिए ऑपरेटर ओवरलोडिंग कर सकते हैं यह क्या है ऑल ऑफ़ दिस इज़ इंप्ली सिट ओवरलोडिंग जो ऑलरेडी उसे हम सीखने वाले हैं तो अब यहां पे हमें समझ में आया होगा व्हेन द सेम ऑपरेटर इज अलाउड टू हैव डिफरेंट मीनिंग्स अकॉर्डिंग टू द कॉन्टेक्स्ट कॉन्टेक्स्ट पे डिपेंड करता है कि आप नंबर्स के साथ कुछ कोड लिखने की कोशिश कर रहे हैं स्ट्रिंग के साथ लिखने की कोशिश कर रहे हैं लिस्ट के साथ लिखने की कोशिश कर रहे हैं अच्छा मैं यहां पे एक अ अकॉर्डिंग टू मी मैं यहां पे एक अच्छा एग्जांपल यूज़ करने वाली हूं ऑपरेटर ओवरलोडिंग का तो उसके लिए थोड़ा सा मैथ अगर आपने 11 12थ के अंदर कॉम्प्लेक्शन बात है उसी का मैं बेसिक कांसेप्ट आपको एक्सप्लेन करूंगी और जिसने नहीं सुना उसके लिए भी कोई प्रॉब्लम वाली बात नहीं है उसको मैं सिमिलर तरीके से आपको एक्सप्लेन करने वाली हूं तो बेसिकली मैथ के अंदर देयर इज समथिंग कॉल्ड कॉम्प्लेक्शन अब कॉम्प्लेक्टेड में नहीं जाऊंगी बहुत सिंपल सा प्लस माइनस जैसा आपको मैं कुछ दिखाने वाली हूं जैसे हमारे पास एक नॉर्मल नंबर होता है नॉर्मल नंबर को बेसिकली हम अपने रियल नंबर्स कहते हैं नॉर्मल नंबर्स को हम रियल नंबर्स कहते हैं असली नंबर जैसे वन हो गया जैसे टू हो गया जैसे थ्री हो गया या -5 हो गया या 3.1 हो गया यह सारे रियल नंबर्स हैं अब जब नंबर्स को हम ऐड करते हैं मुझे ऑलरेडी पता है 1+ 2 इज गोइंग टू बी इक्वल टू 3 रियल नंबर्स का मैथ बहुत आसान होता है वही सारी चीज हम मैथ में पढ़ रहे होते हैं कॉम्प्लेक्टेड अ बस यह मैंने कुछ लिख दिया इस चीज को कॉम्प्लेक्शन कहते हैं अब क्यों कहते हैं क्या मतलब होता है क्यों यूज होते हैं कॉम्प्लेक्शन रियल और कॉम्प्लेक्टेड में नहीं जाएंगे बेसिकली दिस इज अ कॉम्प्लेक्टेड पार्ट एंड जो जे से लिखा होता है दिस इज माय इमेजिनरी पार्ट मतलब रियल वन है और इमेजिनरी थ्री है और यह बेसिकली मैथ का वो हिस्सा होता है जिसको इमेजिन किया है मतलब दिस इज इमेजिनरी अब यह मेरा फर्स्ट मान लेते हैं कॉम्प्लेक्टेड कॉम्प्लेक्टेड किया जाता है तो क्या होता है उनके रियल पार्ट अलग से ऐड होते हैं और उनके इमेजिनरी पार्ट्स अलग से ऐड होते हैं तो यहां पे जब इन्हे ऐड किया जाएगा तो आंसर इज गोइंग टू बी 1+ 2 3i + 3+ 5 8j बिल्कुल सही चीज है यह चीज मैं बस आपको सिखाना चाह रही थी कि एक कॉम्प्लेक्शन नाम की चीज होती है इसका पाइथन से एज सच कोई रिलेशन नहीं है ऑल दो कॉम्प्लेक्शन सिस्टम्स के अंदर यूज़ होते हैं मतलब वॉइस में जो हमारी ऑडियो वेव्स होती हैं उन सिस्टम्स के अंदर वी यूज कॉम्प्लेक्शन नंबर्स फॉर कैलकुलेशन अगर आप आगे जाके वॉइस रिकॉग्निशन के ऊपर मशीन लर्निंग वगैरह कुछ करते हो बाकी उतना कोई हमें डिटेल में जाने की जरूरत नहीं है ना हम इसका ज्यादा कुछ डिस्कस करेंगे बट दिस इज अ कॉम्प्लेक्शन नंबर्स को ऐसे ऐड किया जाता है रियल पार्ट को अलग से ऐड करते हैं इमेज पार्ट को अलग से ऐड करते हैं एक और एग्जांपल दे देती हूं मैं आपको लेट्स सपोज वी हैव अ कॉम्प्लेक्शन नंबर है - 1i + 8j तो इसका आंसर क्या होगा इसका आंसर होगा फाइव और हम इन्हें ऐड कर रहे हैं 5 और -1 को ऐड करेंगे 4 आ जाएगा 4i + 18j ये बेसिकली ऐसे कॉम्प्लेक्शन के अंदर एज सच क्रिएट करने के लिए कोई क्लास तो है ही नहीं तो हम क्या करेंगे हम अपनी खुद की क्लास बनाएंगे और ऐसी क्लास जो कॉम्प्लेक्टेड क्लास है पाइथन के अंदर इंटी जर नंबर्स को आप क्रिएट कर सकते हो स्ट्रिंग्स को कर सकते हो लिस्ट को कर सकते हो डिक्शनरी को आप क्रिएट कर सकते हो पर कॉम्प्लेक्शन को क्रिएट करने के लिए नहीं है तो हम वो चीज़ बनाने वाले हैं वी आर बेसिकली गोइंग टू क्रिएट अ क्लास कॉल्ड कॉम्प्लेक्शन क्टर डिफाइन कर लेते हैं इन इट हर जो एक उसका इमेजिनरी पार्ट है तो सेल्फ डॉट रियल इज इक्वल टू रियल एंड सेल्फ डॉट इमेजिनरी इज इक्वल टू इमेजिनरी एंड एक और फंक्शन लिख लेते हैं अ इसे कह देते हैं शो नंबर शो नंबर के अंदर बेसिकली हम अपने नंबर को प्रिंट करवाएंगे तो क्या प्रिंट हम करवाने वाले हैं पहले तो उसका रियल पार्ट प्रिंट करवाएंगे रियल पार्ट इज गोइंग टू बी सेल्फ डॉट रियल फिर इसके अंदर हम बेसिकली आई को प्रिंट करवाते हैं प्लस एंड फिर हम इसका इमेजिनरी पार्ट प्रिंट करवाएंगे एंड फिर हम ज को प्रिंट करवाने वाले दिस इज गोइंग टू बी आवर नंबर जो प्रिंट हो जाएगा तो अब एक नया लेट्स सेव इट एंड रन तो ये मेरा फर्स्ट कॉम्प्लेक्टेड नंबर टू जिसके अंदर हम पास कर देंगे 4i एंड 6j यह मेरा नंबर टू आ गया इसको भी प्रिंट करवा लेते हैं तो यह मेरा नंबर वन हो गया यह मेरा नंबर टू हो गया अब इन दोनों को हम ऐड करना चाहते हैं तो अब इनको ऐड करने का लॉजिक भी हमें ही बनाना पड़ेगा तो वह चीज कैसे हम कर पाएंगे हमें कैसे पता कि मुझे इन दो नंबर्स को किस तरीके से ऐड करना है कि जैसे ही ये कॉम्प्लेक्टेड करने का क्या लॉजिक है तो यहां पर हमारे पासस आते हैं हमारे ंडर फंक्शंस और हम इस तरीके की जो ऑपरेटर ओवरलोडिंग करते हैं कि अपने लिए हम प्लस का मीनिंग डिफाइन करते हैं वी डू इट यूजिंग डंड फंक्शन डंड फंक्शन होते हैं डबल अंडरस्कोर डबल अंडरस्कोर जिस फंक्शन के आगे लगाते हैं उन्हें हम ंडर फंक्शंस कह देते हैं और इसे बहुत सारे फंक्शंस पाइथन के अंदर ऑलरेडी एजिस्ट करते हैं इनमें से हम एक फंक्शन को अभी बहुत बेसिक तरीके से डिटेल में पढ़ेंगे तो बेसिकली होता क्या है जब भी हम किसी भी चीज के ऊपर यह a इंटी जर भी हो सकता है b इंटी जर भी हो सकता है ये a और बी स्ट्रिंग भी हो सकते हैं ये a और बी लिस्ट भी हो सकते हैं जब भी हम a + b लिखते हैं जब भी हम एडिशन कर रहे होते हैं तो इंटरनली क्या होता है उस क्लास के अंदर हम बेसिकली किसी एक ऑब्जेक्ट के लिए ए ऑब्जेक्ट के लिए एक डंड फंक्शन अंडरस्कोर अंडरस्कोर ड अंडरस्कोर अंडरस्कोर को कॉल करने की कोशिश कर रहे हैं जिसमें हमारा एक दूसरा कुछ नंबर पास होगा और वह बेसिकली क्या करेगा ए के अंदर ऐड होने का लॉजिक डिफाइन कर रहा है हमारा यह वाला फंक्शन जैसे अगर कॉम्प्लेक्शन क्रिएट करना है डेफ ड यह नॉर्मल फंक्शन है यह क्या करता है इसके अंदर सेल्फ आएगा सेल्फ का मतलब है ऑब्जेक्ट वन या इसे ऑब्जेक्ट वन भी मैं कह सकती हूं या नंबर वन इसे हम कह सकते हैं दिस इज़ बेसिकली माय नंबर वन एंड इसके अंदर हम एक और पैरामीटर लेंगे व्हिच इज़ माय नंबर टू इसे सेल्फ ही बोल देते हैं पहले हमारे पास सेल्फ आएगा व्हिच इज माय ऑब्जेक्ट एंड एक आएगा नंबर टू या इसे ऑब्जेक्ट टू कह देते हैं या नंबर टू इज आल्सो फाइन अब मुझे डिफाइन करना है लॉजिक टू ऐड टू नंबर्स दो नंबर्स को ऐड करने का लॉजिक ये होगा कि बेसिकली नए नंबर के अंदर नया जो रियल पार्ट है नया जो रियल पार्ट है नंबर के अंदर वो क्या होना चाहिए दैट रियल पार्ट शुड बी सेल्फ डॉट रियल प्लस नंबर टू डॉट रियल इस तरीके से हमारा नया रियल पार्ट क्रिएट होगा और हमारा नया इमेजिनरी पार्ट कैसे क्रिएट होगा सेल्फ डॉट इमेजिनरी प्लस नंबर टू डट इमेजिनरी अब हम ऐड के अंदर क्या कर सकते हैं अब हम ड के अंदर एक नया नया कॉम्प्लेक्शन क्रिएट कर देंगे जिसमें नया रियल पार्ट एंड नया इमेजिनरी पार्ट आ जाएगा और इस कॉम्प्लेक्शन को हम यहां से रिटर्न कर देंगे बेसिकली ये मैंने एक ऐड फंक्शन बना दिया जो दो नंबर्स को ऐड करता है और अब यहां पर मैं नंबर वन को नंबर टू के साथ ऐड करने की कोशिश कर रही हूं तो आई कैन राइट नंबर थ इ इक्व टू नंबर वड ड नंबर टू आई डोंट थिंक इस सिंटेक्स के अंदर हमें कोई भी कंफ्यूजन होना चाहिए नॉर्मली मैंने क्या किया नंबर वन के अंदर बस अपना ऐड फंक्शन कॉल कर दिया है और अब मैं प्रिंट करवा सकती हूं अपने नंबर थ्री को लेट्स सेव इट या नंबर थ्री को ऐसे नहीं प्रिंट करवाना नंबर 3 डॉट शो नंबर को कॉल करना है एंड लेट्स रन इट तो क्या हुआ इन दोनों नंबर्स को ऐड करके थर्ड नंबर आ गया तो वन और फर को हमने ऐड किया तो हमारे पास फाइव आ गया थ्र एंड सिक्स को हमने ऐड किया तो हमारे पास नाइन आ गया ये बिल्कुल सही कैलकुलेशन है इसी तरीके से हमारे कॉम्प्लेक्शन ना लिखना पड़े यहां पे मैं चाहती हूं कोई व्यक्ति आक मेरी कह रहा है कि अनसपोर्टेड ऑपरेंट टाइप प्लस फॉर कॉम्प्लेक्शन यह कह रहा है प्लस को आप यूज़ ही नहीं कर सकते कॉम्प्लेक्टेड डिफाइन ही नहीं किया ऐसे ही थोड़ी प्लस को हम यूज़ कर सकते हैं इंटी जर क्लास में लॉजिक है स्ट्रिंग क्लास में लॉजिक है अ लिस्ट क्लास के अंदर लॉजिक है पर आपकी क्लास में कोई लॉजिक ही नहीं है प्लस को डिफाइन करने के लिए प्लस ऑपरेटर को यूज़ करने के लिए तो वो लॉजिक हम अपनी क्लास के अंदर डिफाइन कर सकते हैं यूजिंग द डंड फंक्शंस डंडार फंक्शन को क्रिएट करने के लिए हमें बेसिकली यहां पे अगर ऐड लिखा हुआ है तो मुझे ऐड ही लिखना है क्योंकि ऐड ऑलरेडी एक डंड फंक्शन है तो यहां पे डंड फंक्शन यूज़ करने के लिए व्हाट आई विल डू इज़ अ एंड इसके बाद भी अ ये क्या बन गया अब ये मेरा ंडर फंक्शन बन गया सिर्फ इतनी चीज करने से अब इस कोड के अंदर कोई एरर नहीं आएगा नाउ इफ आई मिनिमाइज इट एंड री एग्जीक्यूट अब मेरे पास कोई एरर नहीं आ रहा अब सिंपली यह क्या हो गया ये चीजें वर्क करनी स्टार्ट हो गई मतलब यहां पे क्या हो रहा है मैं प्लस को करके दो ऑलरेडी पॉसिबल नहीं था पाइथन के अंदर अब ऐसे ही लेट्स सपोज मुझे माइनस का लॉजिक डिफाइन करना है कि रियल में से रियल माइनस होना चाहिए इमेजिनरी में से इमेजिनरी माइनस होना चाहिए तो उसके लॉजिक के लिए हमारा a माइ बी का सबक्स का ंडर फंक्शन होता है अंडरस्कोर अंडरस्कोर सब तो मैं यहां पर लिख सकती हूं लेट्स सेव इट एंड राइट इट हियर यहां पर हो जाएगा सबक्स के लिए फंक्शन एंड यहां पर मुझे सिर्फ करना है माइनस तो इफ आई आई कैन आल्सो सबट क्ट वन ऑफ माय नंबर्स फ्रॉम अनदर नंबर इसको सेव कर लेते हैं रन करते हैं तो बेसिकली वन में से फोर सबस्टैक होके -3 आ गया थ्र में से सिक्स सबस्टैक होके -3 आ गया हम वो थोड़ा सा साइन के साथ आपको डील करना पड़ेगा बट दिस इज बेसिकली हाउ सबट क्शन विल वर्क इन कॉम्प्लेक्टेड था उस लॉजिक को हम डिफाइन कर सकते हैं उन ऑपरेटर्स को सेम ही ऑपरेटर को मैं यूज़ कर रही हूं बस सबट क्शन वाले ऑपरेटर का मीनिंग चेंज हो गया मीनिंग क्या हो गया मीनिंग हो गया ये वाला फंक्शन दिस इज हाउ ऑपरेटर ओवरलोडिंग वर्क्स एंड दिस इज ऑपरेटर ओवरलोडिंग मैंने माइनस का मतलब ही चेंज कर दिया अपनी क्लास के लिए इसी को ऑपरेटर ओवरलोडिंग कहते हैं और यही पॉलीमोर्फस ज्म का इंप्लीमेंटेशन है मतलब दिस इज व्हाट वी कॉल्ड पॉलीमोर्फस ज्म व्हेन वी आर इंप्लीमेंटिंग क्लासेस एंड ऑब्जेक्ट्स एंड अंडर फंक्शन ऐसा नहीं होता कि सिर्फ एरिदमेटोसस आल्सो अ ंडर फंक्शन दिस आल्सो हैज अ डबल अंडरस्कोर हियर तो दैट इज व्हाई डंड फंक्शंस आर स्पेशल अ लॉट ऑफ देम आर ऑलरेडी इनबिल्ट इन पाइथन एंड अगर हम और ंडर फंक्शंस को देखना चाहते हैं तो बेसिकली वी कैन गो टू द पाइथन डॉक्यूमेंटेशन इस लिंक पर हम जा सकते हैं एंड यहां पर सेक्शन 3.3.8 के अंदर ये बेसिकली ऐड सबट क्ट मल्टीप्लिकेशन अ मैट मल्टीप्लिकेशन ट्रू डिव फ्लोर डिव मॉड मॉड इज बेसिकली फॉर परसेंटेज इसी तरीके से हमारे पास पावर फंक्शन होता है हमारे पास एजोर एंड और के लिए भी फंक्शंस होते हैं एंड अगर हम और नीचे स्क्रोल डाउन करें तो और भी डिफरेंट चीजें जैसे एबीएस हो गया एबीएस यानी एब्सलूट वैल्यू जो मैथ वाला मड फंक्शन होता है ना कि नेगेटिव का भी पॉजिटिव कर दिया जाए उस तरीके के जो फंक्शंस हैं उस तरीके की जो इंप्लीमेंटेशन है वो चीजें हम कर सकते हैं सो दिस वाज ऑल अबाउट ऊप्स इन पाइथन डिफरेंट डिफरेंट कॉन्सेप्ट्स हैं जो हमारे चार मेन पिलर्स हैं उनको हमने कवर किया है काफी सारी चीजें उप्स के अंदर हमें थोड़ी सी थियोरेटिकल लगेंगी हमें लगेगा कि इसे हम कहां यूज करें तो कई बार जब हम एज अ बिगनर ऊप्स को यूज कर रहे होते हैं तो कई बार काफी सारी चीजें हमें अननेसेसरी फील हो सकती हैं क्योंकि जब हम छोटे प्रोजेक्ट्स के ऊपर काम करते हैं ऊप्स उतना सेंस नहीं बनाता पर जब भी हम रियल वर्ल्ड प्रोग्रामिंग के अंदर जाएंगे जब भी हम एक्चुअली कंपनीज के अंदर काम करना स्टार्ट करेंगे वहां पे बहुत सारी चीजें ऊप्स के थ्रू ही होती हैं मतलब अगर कुछ कोड लिखा जा रहा है तो उसके अंदर हम क्लासेस एंड ऑब्जेक्ट्स को क्रिएट करके उस कोड को स्ट्रक्चर कर रहे होंगे तो दैट इज व्हाई उप्स इज रियली इंपोर्टेंट एंड आल्सो फॉर इंटरव्यू पॉइंट ऑफ व्यू तो नेक्स्ट हम सॉल्व करने वाले हैं कुछ प्रैक्टिस क्वेश्चंस को सबसे पहला क्वेश्चन लेते हैं आसान क्वेश्चन के साथ स्टार्ट करेंगे डिफाइन सर्कल क्लास टू क्रिएट सर्कल विद रेडियस आर यूजिंग द कंस्ट्रक्टर सिर्फ इतना पार्ट कर लेते हैं लेट अस क्रिएट आवर क्लास वील कॉल इट सर्कल सर्कल क्लास के अंदर एक हमारे पास इट कंस्ट्रक्टर आ जाएगा जिसमें सेल्फ है और हमारी रेडियस है सेल्फ डॉट रेडियस इ इक्वल टू रेडियस एंड फिर अब हम क्या करेंगे एक नया सर्कल लेट्स सपोज हम क्रिएट करते हैं दिस इज माय सर्कल जिसकी रेडियस है 4 के इक्वल इसको मैंने क्रिएट कर लिया या फिर एक बेटर रेडियस देते हैं लेट्स गिव इट अ रेडियस ऑफ 21 जो कि सेन का मल्टीपल है ताकि कैलकुलेशंस में आसानी हो हमें नेक्स्ट हम क्या करेंगे नेक्स्ट वी हैव टू डिफाइन एन एरिया मेथड ऑफ द क्लास व्हिच कैलकुलेट्स द एरिया ऑफ द सर्कल एंड इसी तरीके से एक पेरीमीटर क्लास अब मुझे पता है मेरे पास अगर रेडियस है r किसी भी सर्कल की तो उसका एरिया होने वाला है पा आ स् एंड पेरीमीटर होने वाला है 2 पा आ के इक्वल थोड़ा सा मैथ्स कैलकुलेशन है य पर फार्मूला याद ना इंपोर्टेंट नहीं है यहां पर उस चीज को कोड में कन्वर्ट कर पाना सबसे इंपॉर्टेंट है तो वी विल डिफाइन अ मेथड कॉल्ड एरिया एंड इसके अंदर वी आर गोइंग टू रिटर्न दिस वैल्यू च इ बेसिकली पाई वी हैव टू रिटर्न पा आ स्क्वा 3.14 न आ स्क्वा तो जो भी हमारी रेडियस है सेल्फ डॉट रेडियस टू द पावर ू इस चीज को हम रिटर्न करना है एंड वल हैव पेरीमीटर जिसके अंदर सेल्फ आएगा इसके अंदर हमें रिटर्न करना है ट पा आर च सेल्फ डॉट रेडियस य जो सर्कल है इसके लिए हम प्रिंट कर देंगे सर्कल का एरिया एंड हम प्रिंट कर देंगे सर्कल की रेडियस नॉट रेडियस बट उसका पेरीमीटर लेट्स सेव इट एंड रन अ बेटर वे टू डू इट वुड बी इंस्टेड ऑफ 3.14 आई टेक इट एज 22/7 एंड आई आल्सो टेक इट एज 22/7 सेव एंड रन तो हमारे पास ईवन वैल्यूज आ गई तो एरिया हो जाएगा 1386 यूनिट्स हमारे पास है नहीं अभी और पेरीमीटर हो जाएगी 132 के इक्वल तो इस तरीके से हमने अपनी क्लास को डिफाइन कर दिया है नेक्स्ट क्लास की तरफ आते हैं डिफाइन एन एंप्लॉई क्लास विद एटिबल एंप्लॉई का रोल होना चाहिए उसका डिपार्टमेंट होना चाहिए और उसकी सैलरी होनी चाहिए दिस क्लास आल्सो हैज अ शो डिटेल्स मेथड तो सबसे पहले तो एक एंप्लॉई क्लास क्रिएट करते हैं एंप्लॉई जिसमें इट के अंदर वी आर गोइंग टू हैव अ रोल वी आर गोइंग टू हैव अ डिपार्टमेंट एंड वी आर ट हैव सैलरी सेल्फ डॉट रोल इ इक्वल टू रोल सेल्फ डॉट डिपार्टमेंट इ इक्वल टू डिपार्टमेंट एंड सेल्फ डॉट सैलरी इ इक्वल टू सैलरी और एक और हम मेथड बना देंगे च शो डिटेल्स इसको हम कह देते हैं शो डिटेल्स इसके अंदर वी हैव सेल्फ एंड वी हैव टू प्रिंट ल द डिटेल्स तो प्रिंट कर दिया हमने यहां पर लिख देंगे रोल इ इक्वल टू रोल सेल्फ डॉट रोल देन वील प्रिंट डिपार्टमेंट इ इक्वल टू सेल्फ डट डिपार्टमेंट एंड सैलरी डबल कोटस सैलरी इ इक्वल टू सेल्फ डॉट सैलरी तो हम चाहे तो एक नए एंप्लॉई को क्रिएट भी कर सकते हैं ई व इज इक्वल टू माय एंप्लॉई जिसके लिए रोल क्या है लेटस सपोज द एप्ल अटेंट द डिपार्टमेंट इज बेसिकली दे आर इन द फाइनेंस डिपार्टमेंट एंड द सैलरी इज आई डोंट नो एन अकाउंटेंट सैलरी आई विल मेक इट 60000 एंड अ स्ट्रिंग मैंने स्ट्रिंग टाइप का बना दिया है और ववन के लिए हम कॉल कर देंगे शो डिटेल्स को लेट्स सेव इट एंड रन तो यह सारी की सारी डिटेल्स हमारे लिए प्रिंट होकर आ गई अब नेक्स्ट चीज हमें क्या करनी है इसी के अंदर वी हैव टू क्रिएट एन इंजीनियर क्लास दैट इन्हेरिटेंस एडिशनल एट्रियो नेम एंड एज तो हमें एक और क्लास क्रिएट करनी है एंड वी विल कॉल दिस क्लास इंजीनियर और इंजीनियर क्या कर रहा है एंप्लॉई की जो सारी प्रॉपर्टीज हैं उन्हें रेट करेगा और इसके अंदर अपने खुद के एट्रबीक से एटिबल होंगे एक तो नेम होगा एक एज होगा बट उसके साथ में या अभी के लिए इतना रख लेते हैं तो सेल्फ डॉट नेम इ टू नेम सेल्फ डॉट एज इक्वल टू एज और साथ में हम क्या करेंगे एंप्लॉई के लिए इंजीनियर के लिए रोल तो पता ही है इट इज गोइंग टू बी इंजीनियर डिपार्टमेंट इज गोइंग टू बी लेट्स सपोज आईटी डिपार्टमेंट और सैलरी हम फिक्स रखने वाले सारे इंजीनियर्स के लिए तो सुपर को यूज करके हम कंस्ट्रक्टर को कॉल लगाएंगे जिसमें हम पास करेंगे रोल रोल इज गोइंग टू बी इंजीनियर एंड फिर हम डिपार्टमेंट पास ऑन कर देंगे एंड फिर हम पास ऑन कर देंगे बेसिकली द सैलरी लेट्स टेक द सैलरी टू बी 75000 एंड इसे हम कर लेते हैं सेव तो यहां पर एंप्लॉई वन की जगह हम करेंगे इंजीनियर वन और अपनी इंजीनियर क्लास के अंदर हम कुछ वैल्यूज पास करेंगे नेम हो गया लेटस सपोज लेट्स टेक इट टू बी लन मास्क एंड एज आई डोंट नो मे बी 40 एंड फिर हम अपने इंजीनियर वन के लिए करने वाले हैं शो डिटेल्स को कॉल लेट्स सेव इट एंड रन तो शो डिटेल्स के अंदर इंजीनियर का पूरी की पूरी इंफॉर्मेशन आ गई एंड उसी तरीके से हम चाहे तो इसके अंदर भी अलग से एक शो डिटेल्स कॉल कर सकते हैं बेसिकली दिस इज हाउ इन्हेरिटेंस वर्क्स नेक्स्ट हम एक और प्रैक्टिस क्वेश्चन को सॉल्व करेंगे इट इज आस्किंग अस टू क्रिएट अ क्लास कॉल्ड ऑर्डर व्हिच स्टोर्स आइटम्स एंड इट्स प्र तो एक नॉर्मल क्लास क्रिएट करते हैं जिसका नाम है ऑर्डर हर ऑर्डर के लिए कंस्ट्रक्टर के अंदर दो वैल्यूज पास होंगी एक होगा आइटम नेम एंड एक होगा उस आइटम का प्राइस सो सेल्फ डॉट आइटम इज इक्वल टू माय आइटम एंड सेल्फ डॉट प्राइस इज इक्वल टू माय प्राइस ये वैल्यू हमारे पास आ गई अब हमें क्या करना है लेट्स सपोज हमने ऑर्डर वन क्रिएट कर दिया ऑर्डर वन इज इक्वल टू जिसके अंदर वी बॉट अ पैकेट ऑफ चिप्स एंड वी बट इट फॉर ₹ एंड ऑर्डर टू के अंदर वी ऑर्डर सम टी एंड वी ऑर्डर इट फॉर ₹ यह हमारी कुछ कुछ बेसिक वैल्यूज आ गई अब हमें क्या करना है इसी क्लास के अंदर वी हैव टू यूज अ डंड फंक्शन वच इज द जीटी फंक्शन जीटी का मतलब होता है ग्रेटर दन तो जब भी हम a ग्रेटर दन बी लिखते हैं तो वहां पर बेसिकली हमारा यह वाला जो डंड फंक्शन है यह इवोक हो जाता है तो ग्रेटर देन का लॉजिक डिफाइंड होता है स्ट्रिंग्स के लिए अलग लॉजिक है इंट के लिए अलग लॉजिक है लिस्ट के लिए अलग लॉजिक है तो हर क्लास का अपना अलग लॉजिक है हमें अपना ऑर्डर क्लास के लिए लॉजिक लगाना है बेसिकली हम जाते हैं कि ंडर फंक्शन यानी जैसे ही हम ऑर्डर वन ग्रेटर दन ऑर्डर टू लिखें तो वो ट्रू होना चाहिए या फाल्स होना चाहिए उसका आंसर डिपेंड करेगा ऑर्डर वन ग्रेटर दन ऑर्डर टू ट्रू तभी होगा अगर ऑर्डर वन का प्राइस ऑर्डर टू के प्राइस से बड़ा है तो प्राइस के ऊपर डिपेंडेंट है ग्रेटर दन वाली प्रॉपर्टी तो उसके लिए वी कैन डिफाइन अ डंड फंक्शन कैसे करते हैं वी विल राइट डेफ अपने फंक्शन का नाम gt2 इसके अंदर हम क्या रिटर्न कर देंगे बेसिकली सेल्फ का प्राइस अगर ग्रेटर देन है ऑर्डर टू के प्राइस से तो ट्रू होना चाहिए तो वही चीज यहां पर रिटर्न हो जाएगी तो अब हम प्रिंट करवा सकते हैं इज माय ऑर्डर वन ग्रेटर दन ऑर्डर टू इसका आंसर हमारे पास प्रिंट हो जाएगा ऑर्डर वन क्या है 20 ऑर्डर टू क्या है 15 है इसका प्राइस तो ओबवियसली दिस वैल्यू इज ग्रेटर दन दिस वैल्यू तो यहां पे हमारे पास ट्रू रिटर्न होकर आएगा लेट्स सेव इट एंड रन वी विल गेट ट्रू एरर नहीं आएगा पर यह फंक्शन अगर हमने नहीं लिखा होता तो हमारे पास एरर आ जाता एरर आता कि ग्रेटर देन का जो ऑपरेटर है वो तो सब सपोर्टेड ही नहीं है फॉर द इंस्टेंसस ऑफ़ ऑर्डर एंड ऑर्डर तो यह बेनिफिट होता है डंडा फंक्शंस का कि इस तरीके से अगर हमने अपने लिए कोई कस्टम क्लास डिफाइन कि और उसके अंदर हम लॉजिक क्रिएट करना चाहते हैं ग्रेटर दन का लेस देन का नॉट इक्वल टू का तो वो सारा लॉजिक हम खुद से बैठकर लिख सकते हैं ऐसे ही हम चाहते तो लेस दन का भी लॉजिक क्रिएट कर सकते थे इक्वल टू का भी लॉजिक क्रिएट कर सकते थे सो दिस इज ऑल अबाउट ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग इन पाइथन आई होप कि आज के लेक्चर में हमें मजा आया होगा हमने काफी सारे नए कांसेप्ट और सीखे होंगे उपस के अंदर और इन सारे कॉन्सेप्ट्स को जाके हम रिवाइज करेंगे वंस अगेन नोट्स को डाउनलोड करने का लिंक आपको नीचे डिस्क्रिप्शन बॉक्स के अंदर मिल जाएगा आज के लिए इतना ही मिलते हैं नेक्स्ट लेक्चर के अंदर टिल देन कीप लर्निंग एंड कीप प्रैक्टिसिंग अच्छा यहां पर एक और छोटी सी एक्स्ट्रा इंफॉर्मेशन कि pythonanywhere.com तक काफी सारे कॉन्सेप्ट्स को पढ़ चुके हैं तो अब बस लास्ट लेक्चर हमारा बचेगा जो कांसेप्चुअली नहीं बट बेसिकली इंप्लीमेंटेशन वाइज प्रोजेक्ट ओरिएंटेड होगा तो आज के लिए इतना ही मिलते हैं नेक्स्ट लेक्चर के अंदर टिल देन कीप लर्निंग एंड कीप प्रैक्टिसिंग