जब आप एक बड़ा प्रोजेक्ट बनाते हैं, तो एक ही काम को करने के लिए बार-बार एक ही कोड लिखना बेवकूफी (और बोरिंग) है। सॉफ्टवेयर इंजीनियरिंग का एक बहुत बड़ा नियम है: DRY - Don't Repeat Yourself (खुद को मत दोहराओ)। इसको मुमकिन बनाते हैं - Functions।
Function क्या होता है?
फंक्शन कोड का एक ब्लॉक (block) होता है, जो सिर्फ तब चलता है जब उसे 'बुलाया' (call) जाता है। आप फंक्शन में डेटा (arguments/parameters) भेज सकते हैं और फंक्शन अपना काम ख़त्म करके आपको एक रिज़ल्ट (return value) वापस देता है।
def check_even_odd(number):
# यह फंक्शन चेक करता है कि नंबर सम है या विषम
if number % 2 == 0:
return "Even"
else:
return "Odd"
# फंक्शन को बुलाना (Calling)
result = check_even_odd(10)
print(result) # Output: Even
Parameters vs Arguments
कई शुरुआती डेवलपर्स इन दो शब्दों में कंफ्यूज रहते हैं:
- Parameter: वह वेरिएबल जो फंक्शन को define करते वक़्त ब्रैकेट में लिखा जाता है (जैसे ऊपर वाले कोड में
number)। - Argument: वह असली वैल्यू जो आप फंक्शन को बुलाते वक़्त भेजते हैं (जैसे
10)।
लॉजिक बिल्डिंग: Default और *args
पायथन आपको ऐसे फंक्शन्स बनाने की छूट देता है जो हज़ारों पैरामीटर्स ले सकते हैं, वो भी बिना एरर दिए। इसे *args और **kwargs कहते हैं।
def add_all_numbers(*args):
total = 0
for num in args:
total += num
return total
print(add_all_numbers(5, 10, 15, 20)) # Output: 50
फंक्शन्स आपके कोड को छोटे-छोटे टुकड़ों (modules) में बांटते हैं, जिससे बग्स को ढूंढ़ना और ठीक करना आसान हो जाता है। अगले भाग में हम जानेंगे कि पायथन लिस्ट्स (Lists) को कैसे मैनेज करता है।