पाठ 22 / 47
रिकर्शन
एक फ़ंक्शन जो समस्या को छोटे हिस्सों में तोड़ने के लिए खुद को कॉल करता है।
बेस केस + रिकर्सिव क़दम
हर रिकर्सिव फ़ंक्शन को रुकने के लिए एक बेस केस चाहिए, और उस तक पहुँचने का एक क़दम।
def factorial(n):
if n <= 1: # base case
return 1
return n * factorial(n - 1) # recursive step
print(factorial(5)) # 120रिकर्शन की सीमाएँ
पायथन की डिफ़ॉल्ट रिकर्शन सीमा लगभग 1000 कॉल गहरी है। सामान्य गिनती के लूप के लिए, for/while अक्सर स्पष्ट और तेज़ होता है।