0:00
लेवेज आज के इस वीडियो में हम लोग बात करेंगे कुछ magic methods के बारे मे��
0:03
जिनको dunder methods भी कहा जाता है ये special methods होते हैं जो कि double underscore से start होते है��
0:07
और double underscore में end होते हैं कौन-कौन से magic methods आप लोग को मालूम होने चाहि��
0:11
अगर आप लोग object-oriented programming को अच्छे से समझने चाहते हो इस वीडियो में आपको बताऊंग��
0:15
चलते हैं computer screen में and let's get started अब जल्दी से बात करते हैं magic methods के बारे मे��
0:29
क्यों use करते हैं सबसे पहले इस बारे में बात कर लें देखो यार हमने already
0:34
init method का use किया अब underscore underscore init को पर बनाया और हमने कहा कि इन एक्सेक्यूट हो जाएगा जब भी आप ऑब्जेक्ट बनाओगे तब ऐसा नहीं था कि हमने लिखकर कॉल किया उसक��
0:48
अब मैं ये नहीं कह रहा हूँ कि आप इनको लिखकर call कर नहीं सकते, पर in general नहीं करते
0:53
अब मैं आपको len method के बारे में बताता हूँ, जो कि एक dunder method है, कि आपने कभी break लेन को call किया है
1:00
नहीं किया होगा, आपने len method को दरूर call किया होगा, तो चलते हैं इसके बारे में थोड़ा और क्लोज दी देखते हैं ठीक ह��
1:06
इनिट मेथड के बारे में मैंने आपको अलरड़ी बताया है तो सबसे बारे में magic method के बारे में बताता हूँ क्या होते है��
1:11
कि magic method basically क्या होते हैं कि आपकी classes में defined होते हैं और इनका purpose जो होता है, होता है कुछ special काम करना, ठीक है, इसलिए इनको magic methods भी कहते हैं, जैसे कि underscore underscore alien करके एक method होता है, मैं काम करता हूँ, यहाँ पर एक class बनाता हूँ, जल्दी से employee, and I want to be super quick, यहाँ पर लिखूँगा self.name is equal to Harry, अब आप कहोगे कि यार, directly क्यों लिख रहे हो ��
1:44
और इसके बाद मैं यहाँ पर मान लो लिखता हूं प्रेंट और लिखता हूं ई डॉट नेम ठीक है तो अगर मैं यह डॉट नेम करत��
1:53
हूं इसको रन करता हूं तो आप लोग देखोगे कि हैरी प्रिंट हो जाएगा ठीक है अब मान लो कि मैं चाहता हूं कि इसक��
2:01
जो length है वो भी return हो जाए ठीक है और मैं यह चाहता हूँ कि जब भी मैं कुछ ऐसे print करूँ जैसे मैं आपको दिखाता हूँ यहाँ प��
2:09
अगर मैं print करूँ alien और e अगर मैं इस instance की length को पता लगाना चाहूँ तो यह कहा रहा है कि भाई इसमें कोई length ह��
2:20
है ही नहीं इस ऑब्जेक्ट में इसके लिए डिफरेंड नहीं है लिए मेथड तो हमें जाहिर सी बातें इस मेथड क��
2:26
डिफाइन करना पड़ेगा तो मैं करूंगा क्या कि यहां पर कुछ इस तरह का काम करूंगा मैं एक अंडरस्कोर अंडरस्को��
2:32
एलियन और underscore underscore इस नाम से method बनाओगा और मैं यहाँ पर कह दूँगा return self.name
2:40
और यहाँ पर मैं काम करता हूँ मैं यहाँ पर लिख देता हू��
2:46
एक बहुती raw सा method लिख रहा हूँ मैं लिखूँगा for item in name
2:53
ठीक है in fact मैं for c in self.name करूँगा for loop i is equal to i plus 1 i is equal to 0 finally return i 5 5 characters characters
3:27
method का नाम तो underscore underscore LEL लिखा लेकिन मैंने इस्तेमाल इसको किस नाम से किय��
3:31
मैंने LEL नाम से इस्तेमाल किया और यही वज़ा है कि इसको हम लो��
3:35
magic methods कहते हैं ठीक है तो init method क्या है इनिट मेथड एक special method है जो कि automatically
3:40
invoke किया जाता है जब भी एक नया instance class का create किया जाता है object बनाएंगे तब ये automatically
4:00
call हो जाएगा ठीक है ये हमने already बात की थी अब इसके बाद एक और method
4:04
है str और repr ठीक है अब देखो क्या होता है मैं इसको तर��
4:08
comment out करता हूँ इसको भी comment out करता हूँ और अगर ये आपको थोड़ा जीव लग रहा है ��
4:11
अगर लग रहा है जीव तो यार ठीक है यार मतलब आप यह चाहते हो ना कि телефон ऐसे कर रहा हूं और फिर इसके बा��
4:17
यहां पर self.name is equal to name लिखूं यहां से name is equal to हैरी हटाते हुए यहां self लिखूं और यहा��
4:26
रही पास करूंगी लिख दूंगा मैं कोई दिक्कत वाली बात नहीं है ठीक है लेकिन आप परशान मत हो आप परशा��
4:33
आप परशान ही मेरे से नहीं दिखे जाती ठीक है आप ऐसे परशान ना हो मैंने लिख दिया ठीक है तो यहां पर आ��
4:38
सकते हो मैंने एक इनिट मेटोड बनाएं एक अंस्ट्रक्टर है इसको हमने यहां पर आपको नहीं दिखेगा यह नही��
4:43
अगर मैंने एक क्लास इंप्लॉई कहीं से इंपोर्ट कर रही होती है वह भी मैं आपको करके दिखा देता हूं मान ल��
4:48
यह चीज आपकी नजरों से बाहर होती महलो bicycle.com और मैं क्या करूंगा कंट्रोल दबाकर इसको खोलता हू��
4:56
मैं यह पीड़ोट पाइमें यह डाल दूंगा और मैं दूंगा कि यह फ्रॉम यह एमपी फ्रॉम यह एमपी इंपोर्ट इंप्लॉ��
5:04
ठीक है मैंने ऐसे कर दिया तो यहां पर मैंने एक फाइल बना रही MP डॉट पीव है और मैं अगर मान लो इसको प्रिंटी करता हूं इसको रन करता हूं तो क्या होगा यहां पर मुझे मिल रहा है employee objected this अब मुझे employee की implementation नहीं दिख रही है मैंने किसी पैकेज से import किया आपने ��
5:34
को इनिट नाम से देखा ठीक है समझ रहा है आप लोग ना ही तो मैंने इनिट को इनिट नाम से देखा यहाँ पर सिर्फ उसक��
5:39
यूज करता गया ठीक है सिर्फ यूज करता गया तो यह यहाँ पर जो है इनकैप्सुलेशन का एक बहुत अच्छा एक्जांपल ह��
5:46
SDR method representation E print information Vaccine
6:30
देखता हूं दिनेम ऑफ दि एंप्लॉई इज और यहां पर सेल्ट टॉट नेम ठीक है अब यहां पर देखना कि जैसे ही मैं यहा��
6:41
पर इसको रन करता हूं आप देखना यहां पर यह चीज अपने लिखकर आईए कहा रिटर्न नॉन स्ट्रिंग टाइप ऑप्स मैंन��
6:47
बना दिया मुझे करना चाहिए इसको रिटर्न क्योंकि यहां पर रिटर्न करना पड़ता है तो मैं अब इसको अगर रन करूंग��
6:54
तो आप लोग देखो नेम ऑफ दी एंप्लोईज है रहा है वह चीज लिखकर नहीं आ रही है वह बड़ा बड़ा आ रहा था न��
6:59
वाली बात वह लिखकर नहीं आ रही है अब बिल्कुल भी तो अब यहां पर हमारे पास एक बेटर तरीका है इस ऑब्जेक्��
7:04
को दिखाने का हमें अब यह नहीं देखना पड़ रहा है कि यह ऑब्जेक्ट इस एड्रेस पर ऐसे ऐसे दिखता है अब हमे��
7:10
यहां पर साफ दिखाई दे रहा है कि यह ऑब्जेक्ट जो है वह हैरी का है वह एक एंप्लॉई है मैं डबल लगा देता हू��
7:17
लोगों को लगेगा कि मुझे employee की spelling नहीं आती है लबकि मुझे आती है employee की spelling या��
7:21
तो यहाँ पर आप देखो name of employees है यहाँ गया तो यह होता है हमारा str method
7:25
अब str और repr में क्या difference है मैं आपको बताता हूँ देखो मैं एक method बना रहा हूँ repr के नाम स��
7:31
ठीक है, मैं आपको बना कर दिखाता हूँ method, और मैं copy करूँगा उसको एकदम exact replica बताऊँगा, बनाऊँगा, एकदम replica, ठीक है, और मैं बस एक काम करूँगा distinguish करने के लिए, यहाँ पर R, E, P, R, और यहाँ पर S, T, R, ठीक है, और यह करने के बाद run करो इसको, और यह स्टी ��
8:01
कि fallback कर जाता है, ये REPR में जब भी आप print करते हो, तो अगर STR इसको नहीं दिखा
8:05
तो REPR में चला जाता है, ये fallback कर जाता है, बट ये REPR है क्या चीज
8:09
REPR basically एक method होता है, जो कि represent कर रहा है इस object के
8:15
उस तरीके को जिससे इसको recreate किया जा सकता है, आडिपी आर का आइडियल यूज यह होता है अब जाइडी बात तो प्रोग्रामर के हाथ में वह आडिपी आर मेथड के अंदर क्या लिख��
8:23
अगर आरीपी आर मेथड के अंदर आपने किसी गाने के लिडेक्स लिख दिए किसी क्लास में तो कोई भी अगर आरीपी आर मेथ��
8:29
को रन करेगा तो वहीं दिखेगा उसको कह यह बात तो मैं मैंने बहुत ज्यादा आइडिल बोल दी बट यूजिअली मेरे कहन��
8:35
तो यह कि प्रोग्रामर जो थे ना वह इस मैं अच्छे से यूज करते नहीं है वह बस यह कहते हैं कि數ार काम जो है चल जान��
8:40
चाहिए और जो कि अच्छी बात नहीं है जो कि अच्छी बात है मैं इंकरेज नहीं कर रहा हूं इस चीज को मैं बस आपक��
8:45
देखो यहां पर मैंने इसको सिंगल कोड के अंदर ऐसे डाल दिया अब आरीपीआर से क्या होगा मैं इसको यह स��
8:52
इन रन करूंगा तो यह देखो यह एंप्लॉई है डिमेंट एक्चुली गलती कर दी यार मैंने यह वाला जो इस सिंग��
8:58
recreate object employee harry employee harry object
9:14
प्रेंड कर देता हूं इस टीव arriv और यहां पर मैं दोनों प्रेंट करूंगा एक बार एस्टी आर प्रेंट करूंगा और ए��
9:21
बार आरीपी आर प्रेंट करूंगा एक बार आरीपी आर प्रेंट करूंगा और आप लोग देखना अब यह यहां पर जो है इसमे��
9:27
रिप्रेंस दिखेंगे जो स्टीर्स वाला मेथड एवं स्टीर्स के अंदर जो लिखा हुआ वह रिटर्न करेगा और आरीपीएर वाल��
9:32
नो सर्प्राइस रेपियर रिटर्न करेगा अब यह बात यहां पर देखना क्या हमने अंडरस्कोर अंडरस्कोर आरीपियार क��
9:41
कॉल किया दिया अंसर इस नो हमने नहीं किया ठीक है बट क्या हमको आरीपियार के अंदर का जो यह वाला ज��
9:48
content है यानि कि इसकी जो return value है वो देखने को मिली हाँ देखने को मिली यार बिल्कुल मिली देखने को ठीक है तो आप देख सकते हो यहाँ प��
9:56
आरी पी आर ये मैंने किया तो मुझे देखने को मिली अब मैं आपको यहाँ पर call method के बारे में बताना चाहता हू��
10:02
अगर मैं object को कुछ इस तरह से call करूँ जैसे कि मैंने इ लिखा और फिर ऐसे कर दिय��
10:06
और इसके बाद मैं एक call method बनाओ underscore underscore call method
10:10
इसके अंदर मैंने बड़ा dumb सा call method बनाया है, मैंने hey I am good लिखा हुआ है, but मैं आप लोगों एक quick quiz देना चाहता हूँ
10:16
जिसमें कि मैं आपको ये देना चाहता हूँ, कि आपको करना क्या है
10:20
task, आपको एक method बनाना है, जो कि actual में एक practical use case को resemble करे
10:26
call method के, यानि कि आप object को call करोगे कुछ होगा क्या होगा वो आप मुझे बताओगे मुझे नहीं मालू��
10:30
ठीक है वो आप मुझे बताओगे तो आपने simply करना क्या ह��
10:34
कि underscore underscore call method को बनाना है और जैसे कि आप देख सकते हैं यहाँ पर इसक��
10:38
रन करूंगा तो हे आई एम गुड यहाँ पर लिख कर आ जाएगा ठीक है तो यह जो ई है इसको अगर मैंने ऐस��
10:43
फंक्शन रन करने की कोशिश करी तो यह ढूंढेगा कॉल मेथड को इसको कॉल मेथड मिलेगा फिर यह हे आई ए��
10:49
गुड़ प्रेंट कर देगा लेकिन अगर मैं इसको कमेंट आउट市 जैसे कि मैंने अभी किया अभी अभी किया मैंन��
10:53
कमेंट आउट search और मैं इसको रन करूं तो देखो यह कह रहा है कि भाई कॉलेबल नहीं है यह एंप्लॉय ऑब्जे��
10:58
नहीं है तो आप इसको कॉलेबल क्यों बनाना चाहोगे ठीक है एक प्राक्टिकल एक मतलब ऐसा यूज के जिन्हाँ ज��
11:04
कि सेंस बनाएगी हाई या सही बात है ठीक है आप मुझे इस तरह से बताओगे ठीक है अब अंडरस्कोर अंडरस्कोर आ��
11:11
अंडरस्कोर अंडरस्कोर MUL multiplication के लिए ये सब भी methods होते हैं कोई जो कि operator overloading मे��
11:17
use होते हैं लेकिन इनके बारे में मैं आपको भी थोड़ी दिर में आगे videos में बताऊंगा I hope कि ये video आप लोगो clear हो गया और आपलोग��
11:23
कुछ dunder method जो की important है उनके बारे में बहुत ही clearly बता चल गय��
11:27
तो यार I hope कि सब कुछ sorted है so far और आप लोगों मज़ा आ रहा है इस game मे��
11:33
python 100 days of code में ठीक है playlist access नहीं कर दिये तो कर लेना और यार देख��
11:38
पहले वीडियो में किसी ने review नहीं डाला है अगर तो यार आप review डालोगे या��
11:42
मुझे नहीं मालों आपको डालना होगा review ताकि वो लोग जो की नए आरे हैं उनको पता चले एक वो� governor कैसा है अभी के लिए इस वीडियो में इतने है��
11:48
गैस थैंक यू सो मच गैस पूर वाचिंग इस वीडियो and I will see you next time