Functions in Python _ Python Tutorial - Day #20
Show More Show Less View Video Transcript
0:00
आज के इस वीडियो में हम लोग functions के बारे में देखेंग��
0:02
functions क्या होते हैं? कभी-कभी हम लोग अपने code को, code का जो logic है उसक��
0:06
multiple times यूज़ करना चाहेंगे मान लोग हम लोग 1 से लेके 15 तक print करना चाहते है��
0:10
अपने program में 15 बार और मान लो वो जो code है इस काम को करने का वो 10 lines का ह��
0:14
तो हम ये 10 lines अपने program में repeat नहीं करना चाहेंगे इसके दो reasons ह��
0:19
अगर हम ये lines repeat करेंगे तो अगर मान लो मुझे इन lines में code change करना ह��
0:22
तो मुझे उन 15 जगा जहां use किया जा रहा है ये program वहां repeat करना पड़ेग��
0:26
ये lines जहां जहां use की जा रही हैं वहां वहां repeat मुझे करना पड़ेगी अपनी mistake अगर मुझे correct करनी है अपने program में त��
0:32
उसी के साथ साथ मेरे लिए बहुत ज़ादा hectic हो जाएगा मेरी number of lines बढ़ जाएगी code क��
0:37
अगर मैं इस particular logic को separate कर दूँ अपनी main program स��
0:41
और इसको एक अलग entity बना के डाल दूँ तो मेरे लिए update करना भी आसान रहेग��
0:46
और मैं इसको 10 जगह use कर पाऊंगा बिना अपनी number of lines बढ़ाक��
0:51
तो मैं ये काम कैसे करूँगा मैं करूँगा इसको functions की मदद से यानि कि मैं जो logic है उसको separate करक��
0:56
एक function बना दूँगा, मैं कहूँगा यार add करने का एक function है, average निकालने का एक function है
1:00
geometric mean निकालने का एक function है, कभी-कभी functions का logic बहुत complicated होता है
1:04
जिसे मालो एक given number की multiplication table निकालने का function बन सकता है, 10 numbers
1:08
को add करने का function बन सकता है, average निकालने का function बन सकता है, mean median
1:12
इन मोड निकालने का function मन सकता है, तो logic को हम separate करके, उसके बाद just refer करेंगे
1:16
कि mean निकाल दो इन numbers का, और हम जो है, इस entity को जादा नहीं देखेंगे
1:20
बार बार, हम एक बार बना लेंगे function, और उसके बाद उस function को use करेंगे, मैंने इतना कुछ जो कहा हो सकता है आपकी समझ में इतना अच्छे से भी नहीं आया ह��
1:26
no problems यार हम computer screen में चल रहे हैं अभी के अभी और इस concept को समझा कर ही मानूंगा आप लोगों क��
1:32
let's get started so function basically code लिखने का एक तरीका ह��
1:45
आप लोग मान लो कि एक block of code को अपने program मे��
1:50
10 या 50 बार इस्तेमाल कर रहे हो तो आप लोग क्या उसको बार बार copy paste करोग��
1:53
assuming कि वो जो block of code है वो say 50 lines का है या 100 lines का ह��
1:58
या 60, 70 lines का है आप definitely बार बार उसको copy paste नहीं करोग��
2:02
आप उसको wrap कर दोगे एक function में ताकि आप उसको बार-बार reuse कर पा��
2:06
तो मैं आप लोग को सबसे वेले दिखाता हूँ कि function कैसे बनाया जाता है और उसके बाद हम लोग बात करते हैं चीजों क��
2:10
अब यहाँ पर यार मैं यह बताएं क्या करूँगा एक नई file खोलूँगा mean.py
2:18
लाइफ को इधर लेकर जाओंगा ठीक है बढ़िया लगा चीजें ना बढ़िया से रेंज हो गई है यहां पर अब देखो फंक्शन ब्लॉ��
2:25
को पर फॉर्म से स्पेसिफिक टास्प वेनेवर इट इस कॉल्ड अब मैं आपको ना बहुत ही बेसिक लैंग्व बताता हूं पहले फिर य��
2:31
है क्या लिखा है मैंने ठीक है मैं यहां पर लिखूंगा डेफ ठीक है यह डेफ को भी छोड़ो यार अभी मैं बहु��
2:37
सिंपल स्टार्ट करूंगा मालों मेरे पास एक प्रोग्राम है जो कि जिमेंट्रिक मीन निकालता है ठीक है जी मीन इज एकवा��
2:45
दो नंबर लेता हूँ सबसे पहले a is equal to 9 और b is equal to 8
2:50
ठीक है क्या होता है geometric mean a b divided by a plus b
2:56
ठीक है तो मैं करूँगा 9 या फिर मैं लिखूँगा a multiply by b
3:01
और मैं लिखूँगा divided by a plus b ठीक है इसको bracket में कर देता हू��
3:06
इसको भी bracket में कर देता हूँ ताकि हमारा geometric mean वो ठीक ठीक ह��
3:12
ठीक है और फिर print कर देता हूँ geometric mean ठीक ह��
3:16
run करूँगा इसको calculation हो जाएगी और output मिल जाएगा ठीक है we all know that
3:22
I know you know that ठीक है पर मैं यह बताना नहीं चाता हूँ मैं अब मान लो क��
3:27
दो और numbers लेता हूँ C और D ठीक है मालो C is equal to 8 होता ह��
3:33
और D is equal to 7 होता है और मालो मैं दोबारा स��
3:37
G mean निकालना चाहता हूँ उनका तो मुझे दोबारा से कुछ इस तरह से लिखना होग��
3:42
C multiply by D divided by C plus D ठीक है और मैं इसको G mean 2 कर देता हू��
3:50
वैसे मैं override कर सकता हूँ variable को इसको 1 कर देता हूँ but let's keep it simple
3:54
ठीक है AB divided by A plus B CD divided by C plus D
3:59
9 8 geometric mean 8 7 geometric mean so far so good plan line function
4:09
ये जो code है geometric mean निकालने का वो एक line का है अगर ये 10 line का होता तो मालोग ये थोड़ा complex code होत��
4:15
ठीक है, ab divided by a plus b यह 10 line का code होता है, तो मुझे 10 line यह लिखनी पड़त��
4:22
10 line यह लिखनी पड़ती और मेरा code already वीस line का हो जाता है तो मैं क्या करूँगा, यह जो geometric mean निकालने वाल��
4:27
यह है न, इसको मैं एक function में डाल दूँगा मैं कहूँगा def
4:33
और लिखूंगा g mean ठीक है यहाँ calculate g mean और a और b
4:41
और मैं इसके अंदर क्या करूँगा लिखूंगा mean is equal to और यहाँ पर मै��
4:50
कुछ इस तरह से यह जो logic है वो लिख दूँगा और लिख दूँगा print mean
4:55
तो यह जो मैंने लिखा ना भी deaf keyword के बाद जो ये चीज लिखी ह��
5:00
ये इस function का नाम है A और B arguments हैं जो कि ये function
5:04
accept कर रहा है ठीक है कोई arguments नहीं भी accept कर सकता ह��
5:08
ये function जरूरी नहीं है कि हर function argument accept करेगा लेकिन ये कर रहा है इसको मैं A और B पकड़ा सकता हूँ और ये मुझ��
5:14
यह चीज दे देगा प्रिंट करके ठीक है तो इंस्टेड ऑफ डूइंग देस नॉ आई केंसिंपली से कैलक्यूलेट जी मीन ए��
5:22
ऑम अभी एंड इंस्टेड ऑफ डूइंग देस मैं सुपमेंट आउट कर देता हूं आप लोग ले आई कैन डू सम्मेंग लेक्ट इ��
5:30
इस चीजी और जस्ट आप लोगे पास कोड रहे इसलिए मैं यह भी कर देता हूं यार जो मैंने लिखा था बहुत इसक��
5:38
रिस्टोर कर देता हूं यह यहां पर भी यहां पर यहां पर भी ठीक है तो अब मैं इसको रन करूंगा अगर तो नाइन औ��
5:47
जो में ट्रिक मीन प्रेंट हो जाएगा और फिर किस का इसके जो में ट्रिक मीन प्रेंट हो जाएगा आट और साथ को बिल्कु��
5:53
हमारे डिजरेस्ट वह सेम रहेंगे चेंज नहीं होंगे ठीक है यह कहां नहीं आता कि आप लोगों समझ में आ गई त��
5:58
से हम लोग जो है अपने लॉजिक को सबरेट कर सकते हैं एक और फंक्शन में लिख सकता हूं इसी प्रोग्राम में ज��
6:03
कि बताएगा दो नंबर में से कौन सा नंबर ग्रेटर है ठीक है अब मालों स्टेट ऑफ कैलेक्टिंग जो मेट्रिक मीन मुझ��
6:09
क्या करना होता यह भी पता लगाना होता कि दोनों में से कौन सा नंबर ग्रेटर है ठीक है तो यहां पर सिंपल��
6:15
ऐसे लिखोगा इफेस ग्रेटर दन भी प्रिंट फर्स्ट इस ग्रेटर फर्स्ट नंबर इस ग्रेटर ठीक है और फिर मैं लिखूंग��
6:27
और प्रिंट कर दूंगा सेकंड नंबर इस ग्रेटर ठीक है इसको जरा से कर देता हूं वह नमें क्या प्रिंट कर दूंग��
6:33
सेकंड नंबर इस ग्रेटर अब मालों और यह तो बहुत ही सिंपल सी चीज है जो कि आप लोगों कई बार करनी पड़ा सकत��
6:40
ठीक है और यहां पर आप क्या कर सकते हो अब बराबर भी हो सकते हैं नंबर नंबर इस ग्रेटर और इक्वल करते तो उसक��
6:49
अब उन्हां कमेंट साइंग मुझे पता लोग इंग्र इक्वल भी दो सकता है कि इस तो हेल्डल नहीं किया आपने ठीक है भाई क��
6:54
तो यहाँ पर मैंने calculate mean a भी किया है ठीक है इसको भी मैं उपर ही ले जाता हू��
6:59
मालो मुझे यह पता लगाना है कि दो numbers में से कौन सा greater है और उसके बाद उसका geometric mean भी brand करना ह��
7:04
सेम मुझे c और d के साथ भी करना है यहाँ यगर c बड़ा है d स��
7:08
तो first number is greater आएगा वरना यह आएगा ठीक है अब आप देखो यहाँ पर क्या होग��
7:12
मैं इस code को जैसे ही run करूँगा आप देखो यहाँ प��
7:16
मुझे मिल गया first number is greater फिर geometric mean मिल गय��
7:20
फिर दुबारा first number greater था तो दुबारा geometric mean मिल गया अगर मान लो second number greater होता तो यहाँ पर मुझे second number is greater मिलत��
7:26
जो metric mean के साथ है जैसे कि आप यहाँ पर देख सकते हो ठीक है so far so good मज़ा आ रहा है आप लोगों को हाँ रहा है चलो जी बढ़िया ठीक ह��
7:34
अब देखो यहाँ पर क्या होगा मातलो मैं same काम करना चाहता हू��
7:38
बहुत सारे numbers के लिए तो मुझे बार बार ये code repeat करना पड़ेगा जो की ideal नहीं ह��
7:42
इसलिए मैं एक function लिखूँगा def सबसे पहले लिखते हैं function लिखने के लि��
7:48
पाइथन को ये बताता है कि हम एक function लिखने वाले है ठीक है फिर लिखूंगा इस ग्रेटर एक हमारी भी ठीक है ए और भी वेरिबल सेंस फंक्शन के आर्ग्यूमेंट से ठीक ह��
8:02
sotto
8:17
टैप में डालना पड़ेगा यह जो है इस फंक्शन के अंदर है क्योंकि यहां पर स्पेस दिए हुए मैंने ठीक ह��
8:24
कि यह समझ में आ रहा आपको इसे इंडिटेशन कहते हैं मैं पहले भी देखा अगर मैं चाहता हूं कि कोई ची��
8:28
इफ कंडीशन के अंदर आए इस इस इस स्टेटमेंट के अंदर आए तो मुझे एक और लेवल फ्रेंड देना पड़ेगा टैप दब��
8:35
कर ठीक है मैंने वह भी दे दिया और यह इस एल्स के अंदर है यह वाला प्रिंट स्टेटमेंट इसलिए मैंने इंडेंट ए��
8:40
लगा दिया ठीक है और आप लोग यहां पर देखो सेम चीज मैं यहां भी कर सकता हूं इतना बड़ा ना लिखने की बजा��
8:47
मैं इस ग्रेटर सी कॉमर डी कर सकता हूं इतना बड़ा लिखने की जरूरत नहीं है मैंने इसका शॉर्ट फॉर्म Arms य��
8:53
बेसिकली आप ये कह लोगी short form है, यानि कि आप ये कह दो, मालो दो दोस्त हैं और वो बहुत अच्छे दोस्त हैं, और lunch time में किसी दोस्त को दूसरे दोस्त से कहना है कि यार मैं खाना घर में जाकर खाऊंगा, तो कैंटीन में तू अखेले चले जाना, ठीक है, अब जो दोनो��
9:23
इसका एक ना code word बना लेते हैं और वो code word पता है क्या ह��
9:27
बिनोद ठीक है तो उन्होंने कह दिया मैं बिनोद बोलूंगा तो तू समझ जाना कि मैं खाना घर पे खाऊँग��
9:32
और तू जाके कैंटीन में अकेले खा सकता है तो instead of saying इतना बड़ा ची��
9:37
कि मैंने खाना जो है घर में जाके मैंने खाना है तू कैंटीन में जाके खा सकता ह��
9:42
जो दोस्त है पहला वो दूसरे दोस्त को बोलेगा बिनोद ठीक ह��
9:46
वो समझ जाएगा कि ये खाना घर में खाएगा मुझे कैंटीन में जाके अब खा लेना चाहि��
9:50
ठीक है तो ऐसा ही समझ लो इस वाले function को अभी तक जो कहा नहीं है function क��
9:55
कुछ ऐसा ही समझ लो instead of doing the entire thing हम क्या करन��
9:59
उसका एक code word बना लेने है और इस code word क्या है उसको define कर देते है��
10:03
इसे कहते है function definition कि यह जो is greater है वो एक code word है जिसक��
10:07
मतलब यह है, अब नीचे मैं जहां जहां इस greater लिखूंगा, उसका मतलब होग��
10:11
कि a और b के लिए यह चीज लिखनी है अब यहाँ पर देखो, मैंने c और d के लि��
10:15
same यह चीज करी है, तो यह c और d से replace होके, यहाँ पर आ जाएगा, kind of ठीक है, तो यह है हमार��
10:21
function, I hope that you understood this thing, that what is function
10:25
how it works, now come here, okay, now I will tell you one more thing
10:29
before coming here, assume I am planning, I am making a big program, assume I am thinking that the way I made
10:35
greater, I can make this lesser too, I will write here def is lesser
10:42
and that a, b, will work like this, but I will write this function's body
10:47
later, assume I am thinking as a programmer, that this function की body मैं बाद में लिखूंग��
10:53
तो मैं यहाँ पर pass लिख सकता हूँ देखो अगर मैं pass ना लिखूं मालों मैं ऐसे ही छोड़ दू��
10:57
कि यार चलो बाद में लिख लूँगा मैं run करूँगा मुझे एक error मिलेगा कि भाई यह क्या लिख के छोड़ दिय��
11:02
मतलब python actual में function body ढूंढ रहा है उसको मिल नहीं दिया तो वो indentation error दे रहा ह��
11:07
कहरा है यह क्या लिख दिया है function body के अंदर यह बिना indent के तो यह error आ गय��
11:11
indentation error लेकिन अगर मैं यहाँ पर pass लिख दूँ तो pass क��
11:17
मतलब है कि यार यह function मैं बाद में लिखूंगा कुछ करन��
11:21
की ज़रूरत नहीं है pass का मतलब कुछ करने की ज़रूरत नहीं है य��
11:25
function just इस function का नाम मैंने यहाँ पर लिखा हुआ है और यह कितने arguments लेता ह��
11:29
यह लिखा हुआ है और यहाँ पर pass का मतलब यह है कि मैं वापस आउंग��
11:33
और इस function को पूरा करूँगा, pass का मतलब, आगे निकल जाओ, आगे का program process करो
11:37
ठीक है, I hope आप समझ गए, अब मैं run करूँगा, तो यह error नहीं देगा
11:42
बलकि program को execute कर देगा successfully, ठीक है, तो यह pass था, अब आ जाओ यहाँ पर
11:48
function is a block of code, that performs a specific task, कि मैंने आपको बताया था, bigger programs में
11:52
जब हमारे पास बहुत सारा code होता है, it is advisable कि आप अपने logic क��
11:56
breakdown कर दो, functions में, ताकि आपका जो logic है, वो separate हो जाए, कभी भ��
12:02
आप लोगों programming को इस तरह से करनी है, कि जैसे मालो एक बड़ा program हम लोग बना रहे हैं
12:20
पिन कोड पर डिलिवरी हो सकती है कि नहीं तो यह फंक्शन चार-पाँच प्रोग्रामर्स बाट के लिख सकते है��
12:26
कि यार मैंने लेटर से अपने दोस्त शुबम को बोल जाएगी शुबम तुम क्या करो पिन कोड सर्विस एबिलिटी क��
12:33
फंक्शन लिखे उतनी देर में बाकी काम कर रहा हूं तो पैललाइज हो जाता है कि यार मैंने इस ग्रेटर फंक्श��
12:38
मनाकर छोड़ दिया इस लैसर फंक्शन मनाकर छोड़ दिया और मैंने अपने फेलो प्रोग्रामर को बोल दिया कि भाई इसक��
12:43
कर ले, मैं जब तक, मैं बस इसको use करूँगा, इस lesser को, and it should print whichever number is greater
12:51
या lesser, ठीक है, जो भी इसका काम है, function का वो, तो मेरे उपर से burden खतम हो गया, इस function क��
12:56
body को लिखने का, मैं simply इसको use करूँगा, ठीक है, तो ये भी function का एक बहुत बड़ा use है
13:01
और functions दो तरह के होते हैं जैसे कि मैंने आपको starting में भी बताया हुआ built-in functions और user defined functions
13:07
built-in functions वो होते हैं जिनको हमें def keyword से define नहीं करना पड़त��
13:11
user defined functions वो होते हैं जो कि हमें def से define करने पड़ते हैं और हम खुद बनाते हैं user खुद बनाता ह��
13:18
user defined, user के दुआरा define कियेगा functions ठीक है, built in function के कुछ examples
13:24
main, max, length, sum, type, range ticked, list, double, set, print बहुत सारे बहुत और भी होते है��
13:30
जैसे कि range, ठीक है, range भी लिखा है और भी बहुत सारे होते हैं, ठीक ह��
13:34
google कर सकते हो list of all list of all built in functions in python
13:42
ठीक है, देखो callable है, chr है class method है, compile, बहुत सारे ह��
13:47
ठीक है आप इनको जो है use कर सकते हो but the point is अभी कि हम user defined function को कुछ इस तरह स��
13:55
लिख सकते हैं अब देखो यहाँ पर मैंने pass लिखा हुआ है और मैंने आपको बता दी अब pass क्या होता है ठीक ह��
13:59
पास का मतलब कि इसको मैं बाद में लिखूंगा ठीक है इससे error नहीं आता है प्रोग्राम मे��
14:03
अब create a function using the def keyword followed by a function name
14:07
followed by parenthesis and colon ठीक है ये syntax है कि भा��
14:12
नाम लिखो function का सबसे बहुत लिखो फिर नाम लिखो space देखे function क��
14:15
parenthesis लगाओ क्या क्या ये argument लेगा वह लिखो परेंथेस बंद करो कोलन लगाओ एंटर मारो अगर आप एक अच्छी आईडी में तो ऑटोमाटिक इंडिने��
14:24
हो जाएगा नोट पैड में फॉर सम विर्ड रीजन अगर आप लोग कोडिंग कर रहे हैं या माइक्रोसॉफ्ट वर्ड में तो आपक��
14:29
लाब दबाना पड़ेगा ठीक है समझ रहे हो ना यह स्पेसिंग यहां पर लेकिन चाहिए कैसे भी चाहिए ठीक है मुझे नही��
14:35
पता तो यह स्पेसिंग इंटरप्रेटर कहता है मुझे नहीं पता मुझे लाकर दो अन्ना मैं रोक करूंगा सिंपल सी चीज ह��
14:41
ठीक है? Any parameters and arguments should be placed within the parentheses. हमने देख लिया है. Rules to naming a function are similar to that of naming variables. हमने variables को किस तरह से नाम देते हैं? इसके rules की बात की थी. यहां भी exactly same है. ठीक है? वही rules है. Any statements and other code with the function should be indented. Indented का मतलब यह space आनी चाहिए. If यूज़ करा तो if के अंदर कोई भी चीज़ है तो और indented होगी and so on. ठीक ह��
15:11
करने के लिए कुछ इस तरह से करते हैं इसे मैंने आपको दिखाई इस ग्रेटर को कॉल करके इसका मतलब क��
15:16
क्या करेगा यहां जाएगा और इस लॉजिक को इन दो वैल्यूज के लिए एग्जिक्यूट कर देगा अब यहां पर 9 और 8 ह��
15:22
तो 9 और 8 यहाँ पर जाकर execute हो जेंगी, ठीक है, सिंपल सी बात थी
15:27
तो यार यह है function के basics, I hope आपको समझ में आ गए, अगर आप लोग को समझ में आए
15:32
तो मुझे बताओ comment करके, कि यार समझ में आ गए, और मज़ा आ रहा है, और अगर नहीं आए, तो भी मुझे बताओ यार कमेंट करके मुझे पता होना चाहिए आपको नहीं आए अगर आपको नहीं आए तो मैं रेकमेंट करूंगा इस वीडियो को दुबारा देखें खुद से लिखें मेरे साथ साथ कोड एक बार तो आप देख लें सिर्फ और दूसरी बार जब आप ��
16:05
करते है��
#Programming
