पायथन कार्य
एक फ़ंक्शन कोड का एक ब्लॉक होता है जो केवल तब चलता है जब इसे कॉल किया जाता है।
आप किसी फ़ंक्शन में पैरामीटर के रूप में ज्ञात डेटा पास कर सकते हैं।
एक फ़ंक्शन परिणामस्वरूप डेटा वापस कर सकता है।
एक समारोह बनाना
पायथन में def कीवर्ड का उपयोग करके एक फ़ंक्शन को परिभाषित किया गया है :
उदाहरण
def my_function():
print("Hello from a function")
एक समारोह बुला रहा है
किसी फ़ंक्शन को कॉल करने के लिए, कोष्ठक के बाद फ़ंक्शन नाम का उपयोग करें:
उदाहरण
def my_function():
print("Hello from a function")
my_function()
बहस
सूचना को तर्क के रूप में कार्यों में पारित किया जा सकता है।
कोष्ठक के अंदर फ़ंक्शन नाम के बाद तर्क निर्दिष्ट किए जाते हैं। आप जितने चाहें उतने तर्क जोड़ सकते हैं, बस उन्हें अल्पविराम से अलग करें।
निम्न उदाहरण में एक तर्क (fname) के साथ एक फ़ंक्शन है। जब फ़ंक्शन को कॉल किया जाता है, तो हम पहले नाम के साथ पास करते हैं, जिसका उपयोग फ़ंक्शन के अंदर पूरा नाम प्रिंट करने के लिए किया जाता है:
उदाहरण
def my_function(fname):
print(fname + " Refsnes")
my_function("Emil")
my_function("Tobias")
my_function("Linus")
पायथन दस्तावेज़ों में तर्कों को अक्सर तर्कों के लिए छोटा कर दिया जाता है ।
पैरामीटर या तर्क?
शब्द पैरामीटर और तर्क का उपयोग एक ही चीज़ के लिए किया जा सकता है: जानकारी जो किसी फ़ंक्शन में पास की जाती है।
एक समारोह के नजरिए से:
एक पैरामीटर फ़ंक्शन परिभाषा में कोष्ठक के अंदर सूचीबद्ध चर है।
एक तर्क वह मान है जिसे फ़ंक्शन को तब भेजा जाता है जब उसे कॉल किया जाता है।
तर्कों की संख्या
डिफ़ॉल्ट रूप से, किसी फ़ंक्शन को तर्कों की सही संख्या के साथ कॉल किया जाना चाहिए। इसका मतलब है कि यदि आपका फ़ंक्शन 2 तर्कों की अपेक्षा करता है, तो आपको फ़ंक्शन को 2 तर्कों के साथ कॉल करना होगा, अधिक नहीं, और कम नहीं।
उदाहरण
यह फ़ंक्शन 2 तर्कों की अपेक्षा करता है, और 2 तर्क प्राप्त करता है:
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil", "Refsnes")
उदाहरण
यह फ़ंक्शन 2 तर्कों की अपेक्षा करता है, लेकिन केवल 1 प्राप्त करता है:
def my_function(fname, lname):
print(fname + " " + lname)
my_function("Emil")
मनमाना तर्क, *args
यदि आप नहीं जानते हैं कि आपके फ़ंक्शन में कितने तर्क पारित किए जाएंगे, *
तो फ़ंक्शन परिभाषा में पैरामीटर नाम से पहले जोड़ें।
इस तरह फ़ंक्शन को तर्कों का एक समूह प्राप्त होगा , और तदनुसार आइटम तक पहुंच सकता है:
उदाहरण
यदि तर्कों की संख्या अज्ञात है, *
तो पैरामीटर नाम से पहले जोड़ें:
def my_function(*kids):
print("The youngest child
is " + kids[2])
my_function("Emil", "Tobias", "Linus")
पायथन दस्तावेज़ों में मनमाने तर्कों को अक्सर *args तक छोटा कर दिया जाता है।
कीवर्ड तर्क
आप कुंजी = मान सिंटैक्स के साथ तर्क भी भेज सकते हैं ।
इस तरह तर्कों का क्रम मायने नहीं रखता।
उदाहरण
def my_function(child3, child2, child1):
print("The youngest child
is " + child3)
my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
कीवर्ड तर्क वाक्यांश को अक्सर पायथन दस्तावेज़ों में kwargs तक छोटा कर दिया जाता है।
मनमाना कीवर्ड तर्क, **kwargs
यदि आप नहीं जानते हैं कि आपके फ़ंक्शन में कितने कीवर्ड तर्क पारित किए जाएंगे, तो दो तारांकन जोड़ें: **
फ़ंक्शन परिभाषा में पैरामीटर नाम से पहले।
इस तरह फ़ंक्शन को तर्कों का एक शब्दकोश प्राप्त होगा, और तदनुसार आइटम तक पहुंच सकता है:
उदाहरण
यदि कीवर्ड तर्कों की संख्या अज्ञात है,
**
तो पैरामीटर नाम से पहले एक डबल जोड़ें:
def my_function(**kid):
print("His last name is " + kid["lname"])
my_function(fname = "Tobias", lname = "Refsnes")
मनमाने ढंग से खोजशब्द तर्क अक्सर पायथन दस्तावेजों में **kwargs के लिए छोटा कर दिया जाता है।
डिफ़ॉल्ट पैरामीटर मान
निम्न उदाहरण दिखाता है कि डिफ़ॉल्ट पैरामीटर मान का उपयोग कैसे करें।
यदि हम बिना तर्क के फ़ंक्शन को कॉल करते हैं, तो यह डिफ़ॉल्ट मान का उपयोग करता है:
उदाहरण
def my_function(country = "Norway"):
print("I am from " +
country)
my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
एक तर्क के रूप में एक सूची पास करना
आप किसी फ़ंक्शन (स्ट्रिंग, संख्या, सूची, शब्दकोश इत्यादि) में किसी भी डेटा प्रकार के तर्क भेज सकते हैं, और इसे फ़ंक्शन के अंदर उसी डेटा प्रकार के रूप में माना जाएगा।
उदाहरण के लिए यदि आप एक सूची को तर्क के रूप में भेजते हैं, तो यह तब भी एक सूची होगी जब यह फ़ंक्शन तक पहुंच जाएगी:
उदाहरण
def my_function(food):
for x in food:
print(x)
fruits = ["apple", "banana", "cherry"]
my_function(fruits)
वापसी मूल्य
किसी फ़ंक्शन को एक मान वापस करने के लिए, return
कथन का उपयोग करें:
उदाहरण
def my_function(x):
return 5 * x
print(my_function(3))
print(my_function(5))
print(my_function(9))
पास स्टेटमेंट
function
परिभाषाएँ खाली नहीं हो सकतीं, लेकिन अगर किसी कारण से आपके पास function
कोई सामग्री नहीं है, तो pass
त्रुटि से बचने के लिए कथन में डालें।
उदाहरण
def myfunction():
pass
प्रत्यावर्तन
पायथन फ़ंक्शन रिकर्सन को भी स्वीकार करता है, जिसका अर्थ है कि एक परिभाषित फ़ंक्शन स्वयं को कॉल कर सकता है।
रिकर्सन एक सामान्य गणितीय और प्रोग्रामिंग अवधारणा है। इसका मतलब है कि एक फ़ंक्शन स्वयं को कॉल करता है। इसका अर्थ यह है कि परिणाम तक पहुंचने के लिए आप डेटा के माध्यम से लूप कर सकते हैं।
डेवलपर को रिकर्सन के साथ बहुत सावधान रहना चाहिए क्योंकि यह एक ऐसा फ़ंक्शन लिखने में काफी आसान हो सकता है जो कभी समाप्त नहीं होता है, या जो अधिक मात्रा में मेमोरी या प्रोसेसर पावर का उपयोग करता है। हालांकि, जब सही ढंग से लिखा जाता है तो रिकर्सन प्रोग्रामिंग के लिए एक बहुत ही कुशल और गणितीय-सुरुचिपूर्ण दृष्टिकोण हो सकता है।
इस उदाहरण में, tri_recursion() एक ऐसा फंक्शन है जिसे हमने खुद को कॉल करने के लिए परिभाषित किया है ("रिकर्स")। हम k चर का उपयोग डेटा के रूप में करते हैं, जो हर बार रिकर्स करने पर ( -1 ) घटता है। रिकर्सन समाप्त होता है जब स्थिति 0 से अधिक नहीं होती है (यानी जब यह 0 हो)।
एक नए डेवलपर के लिए यह पता लगाने में कुछ समय लग सकता है कि यह वास्तव में कैसे काम करता है, इसका पता लगाने का सबसे अच्छा तरीका इसका परीक्षण और संशोधन करना है।
उदाहरण
रिकर्सन उदाहरण
def tri_recursion(k):
if(k > 0):
result = k + tri_recursion(k - 1)
print(result)
else:
result = 0
return result
print("\n\nRecursion Example Results")
tri_recursion(6)