بازگشت بی انتها در زبان پایتون چیست ؟
بازگشت بی انتها در زبان پایتون چیست ؟
اگر یک بازگشت هیچگاه به حالت مبنا نرسد، تابع بازگشتی براي همیشه فراخـوانی مـیشـود و لذا برنامه هیچگاه پایان نمییابد. از این مطلب به عنوان بازگشت بیانتها یاد میشـود و بـهطـور کلـی ایدة خوبی نیست. در اینجا کوچکترین برنامه با یک بازگشت بیانتها را مشاهده میکنید:
def recurse():
recurse()
در اغلب محیطهاي برنامهنویسی برنامهاي با یک بازگشـت بـیانتهـا واقعـاً بـراي همیشـه اجـرا نمیشوند. پایتون وقتی که به حداکثر عمق بازگشت رسید یک پیغام خطا گزارش میدهد:
File “<stdin>”, line 2, in recurse
(٩٨ تكرار حذف شده)
File “<stdin>”, line 2, in recurse
RuntimeError: Maximum recursion depth exceeded
این پسیابی کمی از آنچه در فصل قبل دیدیم بزرگتر است. وقتی خطا رخ میدهد، صـد قـاب بازگشتی در پشته وجود دارد. بنابراین در عمل خط اول پیغام فوق صد مرتبه تکـرار مـیگـردد کـه در اینجا 98 تکرار آن حذف شده است.
تمرین 4-3 :تابعی با بازگشت بیکران بنویسید و آن را در مفسر پایتون اجرا کنید.
برای اموزش های ویدیویی زبان پایتون به بستر ویدیو های اموزشی بروید