⊗pyPmFnNl 21 of 129 menu

Python'da nonlocal Deyimi

Bazen, dış fonksiyonda iç fonksiyondan erişilmesi gereken bir değişken bulunur. outer fonksiyonunda i değişkenini tanımlayalım. İç fonksiyona göre bu değişken dış (global olanlar SADECE dış kodda tanımlanan değişkenlerdir) olacaktır. Ve inner fonksiyonuna i'ye bir ekleme görevi verelim:

def outer(): i = 0 def inner(): i += 1 # [4, 9, 25] çıktısını verecek inner() return i

Ancak inner için i değişkeni yerel bir değişkendir, Python onu tanımlanmamış olarak kabul eder ve ilgili hatayı verir. Eskiden böyle bir hata global deyimi kullanılarak düzeltilirdi. Ancak burada i bir dış değişkendir, bu nedenle nonlocal deyimi kullanılmalıdır. Bu deyim, listelenen değişken isimlerini global olanı hariç tutarak en yakın kapsamdan alır, yani i inner içinde, bu fonksiyondan önce tanımlanan değişkenden alınacaktır:

def outer(): i = 0 def inner(): nonlocal i i += 1 inner() return i print(outer()) # 1 çıktısını verir

Aşağıdaki kodda bir programcı hata yapmış:

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

Bu kodda sorun nedir? Kod yazarının hatasını bulun ve düzeltin.

Aşağıdaki kodda bir programcı hata yapmış:

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

Bu kodda sorun nedir? Kod yazarının hatasını bulun ve düzeltin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet