У адной з нашых мінулых артыкулаў мы ўжо разгледзелі такую магутную прыладу як функцыі. І навучыліся вызначаць сваю падпраграму ў кодзе, дадаваць ёй аргументы, блок інструкцый і якое вяртаецца значэнне. А таксама - выклікаць яе для рашэння задач далей па тэксце праграмы. Сёння мы разгледзім такі цікавы інструмент як рэкурсіўныя функцыі ў Пітон - гэта важна ведаць, каб прайсці курсы DevOps / DevNet водгукі Ташкент.
Што такое рэкурсія, курсы DevOps / DevNet водгукі Ташкент
Перш за ўсё астатняга, давайце разбяромся ў тым, што ж уяўляе сабой рэкурсія. Безумоўна, у дачыненні да тэмы сённяшняга артыкула – да функцыянальнага праграмавання Пітон. У дадзеным кантэксце рэкурсія - гэта даданне функцыю інструкцыі, якая выклікае зноў тую ж функцыю, але ўжо з новымі дадзенымі. Як правіла, гэта тыя дадзеныя, якія былі атрыманы як вынік пры папярэдняй ітэрацыі выкліку функцыі. Вядома ж, больш падрабязна пра гэта раскажуць нашы. DevOps / DevNet курсы лепшыя Ташкент для айцішнікаў ва Узбекістане.
Гэта значыць, калі прааналізаваць прынцып дзеяння рэкурсіі, ён выглядае так: праграма выклікае падпраграму, перадаючы ёй дадзеныя для апрацоўкі ў выглядзе аргумента. Падпраграма першага пакалення апрацоўвае іх. .І гэтак далей, у ідэальным выпадку - да бясконцасці.
Пры гэтым у рэкурсіі ёсць як перавагі, так і недахопы. Да пераваг рэкурсіўных функцый адносяцца:
- прастата засваення метаду рэкурсіўнага праграмавання;
- магчымасць рашэння складаных задач невялікімі блокамі кода;
- высокая рэзультатыўнасць у задачах, якія можна разбіць на канчатковы лік тыпавых падзадач.
Тады як сярод недахопаў дадзенага метаду найвялікае значэнне маюць наступныя з іх:
- канрынтуітыўнасць вынікаў працы і нарастаючая складанасць аналізу алгарытму;
- лавінападобнае нарастанне спажывання рэсурсаў кампутара можна ў лічаныя секунды забіць усю даступную памяць і загрузіць ЦП);
- высокія патрабаванні да разумення працэсу з боку праграміста.
Рэзюмуючы, можна сказаць, што рэкурсію проста асвоіць, але бывае складана ўжываць. І ў неспрактыкаваных руках гэта прылада можа прынесці не менш галаўнога болю, чым карысці. А таксама - стаць ідэальнай крыніцай для ўцечак памяці ў вашым праекце. Таму вельмі важна навучыцца правільна ўжываць яго, а таксама - ужываць менавіта там, дзе рэкурсія дае найбольшую карысць.
Прыклады выкарыстання рэкурсіі для вырашэння задач у Python
Безумоўна, рэкурсіўнае праграмаванне неабходна асвоіць тым, хто плануе прайсці DevOps / DevNet курсы водгукі ТашкентІ стаць айцішнікам ва Узбекістане ў 2024 годзе. 1 да n. Вядома ж, можна скарыстацца цыклам для рашэння гэтай задачы. Але рэкурсіўнае рашэнне атрымацца крыху карацей і пакажа прынцып дзеяння інструмента.
Перш за ўсё, аб'явім функцыю def rec_sum (n) і паставім двукроп'е. На наступным радку з водступам у 4 прабелы дадамо ўмоўны аператар і праверку на роўнасць адзінцы — if n==1: і з дадатковым водступам у 4 прабелы return 1. На наступным радку на адным узроўні з умоўным аператарам if - дадамо радок, якая змяшчае рэкурсіўны алгарытм: return n + rec_sum(n - 1).
У выніку функцыя будзе выклікаць усё новыя і новыя версіі сябе, кожны раз памяншаючы на адзінку аргумент. Пакуль не дойдзе да нуля, на чым праца алгарытму спыніцца. Каб даведацца больш - раім прайсці курсы DevOps / DevNet інжынера Ташкент на платформе SEDICOMM.
Каманда SEDICOMM University: Акадэмія Cisco, Linux Professional Institute, Інстытут Python.

