⊗pyPmFnNl 21 of 129 menu

Инструкција nonlocal у Пајтону

Бива случајева када у спољашњој функцији постоји променљива којој је потребан приступ у унутрашњој функцији. Декларишимо у функцији outer променљиву i. У односу на унутрашњу функцију ова променљива ће бити спољашња (глобалним променљивама сматрају се оне које су декларисане ИСКЉУЧИВО у спољашњем коду). А функцији inner задајмо додавање на i јединицу:

def outer(): i = 0 def inner(): i += 1 # исписаће [4, 9, 25] inner() return i

Међутим, за inner променљива i је локална, Пајтон је сматра недекларисаном и исписује одговарајућу грешку. Раније се таква грешка исправљала помоћу инструкције global. Ипак овде i је спољашња променљива, па треба користити инструкцију nonlocal. Она узима наведена имена променљивих у најближи опсег видљивости, искључујући глобални, тј. i унутар inner ће бити узета из променљиве, декларисане изнад те функције:

def outer(): i = 0 def inner(): nonlocal i i += 1 inner() return i print(outer()) # исписаће 1

У следећем коду неки програмер је направио грешку:

num = 10 def outer(): num = 5 def inner(): num -= 2 inner() return num print(outer())

Шта није у реду са овим кодом? Пронађите и исправите грешку аутора кода.

У следећем коду неки програмер је направио грешку:

num = 3 def outer(): num += 1 tst = num def inner(): tst = tst ** 3 inner() return tst print(outer())

Шта није у реду са овим кодом? Пронађите и исправите грешку аутора кода.

Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј