⊗pyPmFnNl 21 of 129 menu

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

Има случаи кога во надворешната функција постои променлива на која треба да се добие пристап во внатрешната функција. Да декларираме во функцијата outer променлива i. Во однос на внатрешната функција оваа променлива ќе биде надворешна (глобални се променливите декларирани САМО во надворешниот код). А на функцијата inner ќе и доделиме додавање на i еден:

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

Сепак, за inner променливата i е локална, Python ја смета за недекларирана и ја прикажува соодветната грешка. Порано ваквата грешка се поправаше со инструкцијата 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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј