पाठ 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 अक्सर स्पष्ट और तेज़ होता है।