पायथॉन फ़ंक्शन
- पिछला पृष्ठ पायथॉन For चक्र
- अगला पृष्ठ पायथॉन लैम्ब्डा
फ़ंक्शन एक ऐसा कोड ब्लॉक है जो केवल बुलाया जाने पर चलता है。
डाटा (पैरामीटर के रूप में) फ़ंक्शन में पास की जा सकती है。
फ़ंक्शन डाटा को परिणाम के रूप में वापस दे सकते हैं。
फ़ंक्शन बनाना
Python में, फ़ंक्शन बनाने के लिए def
कीवर्ड फ़ंक्शन को परिभाषित करता है:
Instance
def my_function(): print(\"Hello from a function\
फ़ंक्शन बुलाना
फ़ंक्शन को बुलाने के लिए, फ़ंक्शन नाम के बाद ब्रैकेट का उपयोग करें:
Instance
def my_function(): print(\"Hello from a function\ my_function()
पैरामीटर
जानकारी पैरामीटर के रूप में पास की जा सकती है。
पैरामीटर फ़ंक्शन नाम के बाद के बारे में ब्रैकेट में निर्दिष्ट किए जाते हैं। आपको जरूरत के अनुसार किसी भी संख्या के पैरामीटरों को जोड़ सकते हैं, केवल कमा बांटकर उन्हें अलग-अलग करना चाहिए।
नीचे दिए गए उदाहरण में एक पैरामीटर (fname) वाले फ़ंक्शन का है। इस फ़ंक्शन को बुलाते समय हम एक नाम पास करते हैं और फ़ंक्शन के अंदर इसे एक पूर्ण नाम के रूप में इस्तेमाल करते हैं:
Instance
def my_function(fname): print(fname + \" Gates\ my_function(\"Bill\ my_function(\"Steve\ my_function(\"Elon\
डिफ़ॉल्ट पैरामीटर मान
नीचे दिए गए उदाहरण में डिफ़ॉल्ट पैरामीटर मान का उपयोग करने के तरीके दिखाया गया है。
यदि हमने बिना पैरामीटर के फ़ंक्शन को बुलाया है, तो डिफ़ॉल्ट मान का उपयोग किया जाता है:
Instance
def my_function(country = \"India\"): print("मैं " + country + " से हूँ") my_function("Sweden") my_function("India") my_function() my_function("Brazil")
List से पारामीटर भेजना
फ़ंक्शन को भेजे गए पारामीटर किसी भी डाटा प्रकार (शब्द, संख्या, सूची, निकटित्र) के रूप में हो सकते हैं और फ़ंक्शन के अंदर उन्हें उसी डाटा प्रकार के रूप में देखा जाएगा。
उदाहरण में, अगर आप List को पारामीटर के रूप में भेजते हैं, तो यह फ़ंक्शन में पहुंचने पर अभी भी List (सूची) बना रहेगा:
Instance
def my_function(food): for x in food: print(x) fruits = ["apple", "banana", "cherry"] my_function(fruits)
मूल्य वापस करना
फ़ंक्शन से मूल्य वापस करने के लिए return
वाक्ययोजना:
Instance
def my_function(x): return 5 * x print(my_function(3)) print(my_function(5)) print(my_function(9))
कीवर्ड पारामीटर
आप इसके साथ key = value वाक्ययोजना का उपयोग कर सकते हैं。
पारामीटर की क्रमवारी महत्वहीन है。
Instance
def my_function(child3, child2, child1): print("सबसे छोटा बच्चा है " + child3) my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
Python दस्तावेज़ में, "कीवर्ड पारामीटर" शब्द को आमतौर पर kwargs के रूप में संक्षिप्त किया जाता है。
किसी भी पारामीटर
अगर आपको अपने फ़ंक्शन को कितने पारामीटर भेजें जाएगा इसे जानना नहीं है, तो फ़ंक्शन परिभाषा के पारामीटर नाम के पहले * जोड़ें。
इस तरह, फ़ंक्शन एक पारामीटर ट्यूपल को प्राप्त करेगा और उसे उपयुक्त रूप से पहुंच सकेगा:
Instance
अगर पारामीटर संख्या अज्ञात है, तो पारामीटर नाम के पहले * जोड़ें:
def my_function(*kids): print("सबसे छोटा बच्चा है " + kids[2]) my_function("Phoebe", "Jennifer", "Rory")
pass वाक्ययोजना
फ़ंक्शन परिभाषा रिक्त नहीं हो सकती है, लेकिन अगर आप किसी भी कारण से रिक्त फ़ंक्शन परिभाषा लिखते हैं, तो त्रुटि रोकने के लिए pass वाक्ययोजना का उपयोग करें。
Instance
def myfunction: pass
递归
Python 也接受函数递归,这意味着定义的函数能够调用自身。
递归是一种常见的数学和编程概念。它意味着函数调用自身。这样做的好处是可以循环访问数据以达成结果。
开发人员应该非常小心递归,因为它可以很容易地编写一个永不终止的,或者使用过量内存或处理器能力的函数。但是,在被正确编写后,递归可能是一种非常有效且数学上优雅的编程方法。
在这个例子中,tri_recursion()
是我们定义为调用自身 ("recurse") 的函数。我们使用 k 变量作为数据,每次递归时递减(-1)。当条件不大于 0 时(比如当它为 0 时),递归结束。
对于新的开发人员来说,可能需要一些时间来搞清楚其工作原理,最好的方法是测试并修改它。
Instance
Recursion Example
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)
- पिछला पृष्ठ पायथॉन For चक्र
- अगला पृष्ठ पायथॉन लैम्ब्डा