कार्य
अब तक, हम अपना सारा कोड app.py में लिखते रहे हैं, लेकिन जैसे-जैसे हमारे प्रोग्राम बढ़ते हैं, हमें अपने कोड को व्यवस्थित करने के लिए एक बेहतर तरीके की आवश्यकता होती है। हमें अपने कोड को छोटे, अधिक प्रबंधनीय और अधिक रखरखाव योग्य विखंडू में विभाजित करने की आवश्यकता है जिसे हम फ़ंक्शन कहते हैं। फ़ंक्शन कोड की कुछ पंक्तियों के लिए एक कंटेनर है जो एक विशिष्ट कार्य करता है।
उदाहरण के लिए, आप पहले ही पायथन में कुछ अंतर्निहित कार्यों के बारे में जान चुके हैं print()
और input()
. प्रत्येक फ़ंक्शन का एक उद्देश्य होता है और यह जानता है कि किसी विशिष्ट कार्य को कैसे करना है। इसलिए, जब हम बड़े जटिल प्रोग्राम बनाते हैं, तो हमें अपने कोड को छोटे पुन: प्रयोज्य विखंडों में तोड़ देना चाहिए, अर्थात फ़ंक्शन।
आइए हम इस अवधारणा को एक ग्रीटिंग संदेश को प्रिंट करने के लिए एक प्रोग्राम बनाकर समझते हैं।
print('Hi there!')
print('Welcome aboard!')
यहां हमारे पास कोड की केवल दो पंक्तियों वाला एक सरल प्रोग्राम है। अब, मान लीजिए, हमें अन्य प्रोग्रामों में उनकी आवश्यकता होगी ताकि उन्हें एक ऐसे फ़ंक्शन में रखा जा सके जिसका हम पुन: उपयोग कर सकें।
मुझे एक आरक्षित कीवर्ड का परिचय दें def
पायथन में, जो परिभाषित करने के लिए छोटा है और किसी फ़ंक्शन को परिभाषित करने के लिए उपयोग किया जाता है।
def greet_user():
print('Hi there!')
print('Welcome aboard!')
अब कोड का यह ब्लॉक एक फंक्शन को परिभाषित करेगा "greet_user
” उसके बाद कोड की पंक्तियों के साथ। जब भी यह फ़ंक्शन कहा जाता है, इन दो पंक्तियों को निष्पादित किया जाएगा। आइए इसका उपयोग करें:
print('start')
greet_user()
print('finish')
प्रोग्राम को क्रमिक रूप से निष्पादित किया जाता है, जिसका अर्थ है कि आपको प्रोग्राम में कॉल करने से पहले किसी फ़ंक्शन को परिभाषित करना होगा।
पैरामीटर्स
परिभाषित कार्य पायथन के अंतर्निहित कार्यों की तुलना में थोड़ा अलग तरीके से काम करते हैं। उदाहरण के लिए, के मामले में print()
एक फ़ंक्शन, इसमें कुछ जानकारी होती है जिसे हम प्रिंट करना चाहते हैं, लेकिन हमारा अभिवादन फ़ंक्शन कोई जानकारी नहीं लेता है। क्या यह अच्छा नहीं होगा यदि आप उपयोगकर्ता का नाम यहाँ और फिर "हाय वहाँ" कहने के बजाय, आप उपयोगकर्ता का नाम प्रिंट कर सकते हैं?
आप परिभाषित फ़ंक्शन के कोष्ठक के अंदर पैरामीटर जोड़कर ऐसा कर सकते हैं। चलो मैं तुम्हें दिखाती हूँ:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
अब "name
"कोष्ठक के अंदर एक स्थानीय चर की तरह कार्य करेगा और हम इसे कॉल करते समय उपयोगकर्ता का नाम पास कर सकते हैं।
greet_user('Shahbaz')
अब नाम पैरामीटर "पर सेट है"Shahbaz
" आइए इसका उपयोग करने के लिए प्रोग्राम को बदलें।
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
ध्यान देने वाली एक महत्वपूर्ण बात यह है कि पहली पंक्ति में "नाम" को एक पैरामीटर कहा जाता है जबकि दिए गए नाम यानी शाहबाज को एक तर्क कहा जाता है।
आइए आगे बढ़ते हैं और इस कार्यक्रम को चलाते हैं।
तो इन मापदंडों के साथ, हम अपने कार्यों में जानकारी प्राप्त कर सकते हैं।
अब कुछ दिलचस्प करते हैं। मान लें कि आप ग्रीटिंग संदेश में एक और नाम जोड़ना चाहते हैं। यह आसान है।
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
अब ध्यान दें कि जब किसी फ़ंक्शन में एक पैरामीटर होता है, तो हम उस पैरामीटर के लिए एक मान पास करने के लिए बाध्य होते हैं। यदि आप फ़ंक्शन से नाम हटाते हैं और प्रोग्राम चलाते हैं, तो हमें एक त्रुटि मिलेगी। आप अल्पविराम द्वारा अलग किए गए एकल फ़ंक्शन में एकाधिक पैरामीटर का भी उपयोग कर सकते हैं।
उदाहरण के लिए, greet_user(first_name, last_name):
. तर्कों को भी इसी तरह स्वरूपित किया जाएगा।
खोजशब्द तर्क
अब तक, हमने सीखा है कि जब भी हम अपने कार्यों के लिए मापदंडों को परिभाषित करते हैं तो हमें हमेशा मूल्यों की आपूर्ति करनी चाहिए अन्यथा हमें एक त्रुटि मिलेगी। पिछले कार्यक्रम में, तर्क 'Shahbaz'
और 'Bhatti'
स्थितीय तर्क कहलाते हैं, जिसका अर्थ है कार्यक्रम में उनकी स्थिति या व्यवस्था मायने रखती है।
पायथन में, हमारे पास एक अन्य प्रकार का तर्क है जिसे कीवर्ड तर्क कहा जाता है, जिसके लिए स्थिति कोई मायने नहीं रखती है। मैं आपको दिखाता हूं कि वे कैसे काम करते हैं।
अंतिम कार्यक्रम देखें। हम इसे इस तरह संशोधित कर सकते हैं:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
अब first_name
और last_name
कीवर्ड पैरामीटर हैं। आप उनके स्थान बदल सकते हैं और परिणाम वही होगा।
अब इसका मतलब यह नहीं है कि हमें हमेशा कीवर्ड तर्कों का उपयोग करना चाहिए। अधिकांश समय हम स्थितीय तर्कों का उपयोग करते हैं, लेकिन कुछ स्थितियों में, ये खोजशब्द तर्क हमें अपने कोड की पठनीयता में सुधार करने में मदद करते हैं।
कीवर्ड तर्कों के बारे में आपको एक और बात जानने की आवश्यकता है। कीवर्ड तर्क हमेशा स्थितीय तर्कों के बाद आने चाहिए।
वापसी विवरण
अब तक हमने सीखा है कि फंक्शन कैसे बनाते हैं और उनके मापदंडों का उपयोग करके उन्हें जानकारी भेजते हैं। अब आइए जानें कि मान लौटाने वाले फंक्शन कैसे बनाएं। यह विशेष रूप से उपयोगी है यदि आप किसी प्रकार की गणना कर रहे हैं और आप परिणाम को उस व्यक्ति को वापस करना चाहते हैं जो आपके फ़ंक्शन का उपयोग कर रहा है। चलो मैं तुम्हें दिखाती हूँ।
आइए एक फ़ंक्शन को परिभाषित करें जो किसी संख्या के वर्ग की गणना करेगा।
def square(number):
return number*number
हमने इस नंबर को फ़ंक्शन के बाहर वापस करने के लिए रिटर्न स्टेटमेंट का उपयोग किया है। अब, अगर हम इस फ़ंक्शन को कॉल करते हैं, तो यह की तरह ही एक मान देता है input()
समारोह। आइए इसे टर्मिनल पर प्रिंट करें।
आप तर्क दे सकते हैं कि रिटर्न स्टेटमेंट का उपयोग किए बिना एक ही परिणाम प्राप्त किया जा सकता है। चलो पता करते हैं।
हम दो चीजें देखते हैं, संख्या 9, और कोई नहीं। यहाँ क्या हो रहा है?
जब पायथन दुभाषिया इस कोड को निष्पादित करता है, तो पहले यह वर्ग फ़ंक्शन को कॉल करेगा और नियंत्रण फ़ंक्शन पर चला जाएगा। यहां हम इस दी गई संख्या के वर्ग की गणना करते हैं और फिर इसे टर्मिनल पर प्रिंट करते हैं।
अब, डिफ़ॉल्ट रूप से, सभी फ़ंक्शन कोई भी मान नहीं लौटाते हैं। इसलिए यदि हमारे पास यहां कोई रिटर्न स्टेटमेंट नहीं है, तो डिफ़ॉल्ट रूप से पायथन कोई भी रिटर्न नहीं देता है। कोई नहीं एक वस्तु है जो किसी मूल्य की अनुपस्थिति का प्रतिनिधित्व करती है। यह सी, सी ++, जावा और जावास्क्रिप्ट में कुछ भी नहीं या शून्य जैसा है।
लपेटें!
मुझे आशा है कि आप कार्यों के महत्व को समझ गए होंगे।
यदि आप अपने कोडिंग करियर के दौरान बड़े और जटिल कार्यक्रम लिखने की योजना बना रहे हैं तो वे पायथन सीखने का एक महत्वपूर्ण पहलू हैं।
एक जवाब लिखें