⊗pyPmFnNl 21 of 129 menu

Instruksi nonlocal di Python

Ada kalanya dalam fungsi luar terdapat variabel yang perlu diakses dalam fungsi dalam. Mari deklarasikan variabel i dalam fungsi outer. Relatif terhadap fungsi dalam, variabel ini akan menjadi variabel non-lokal (yang bersifat global hanyalah variabel yang dideklarasikan DI LUAR kode fungsi). Dan untuk fungsi inner kita berikan penambahan satu ke i:

def outer(): i = 0 def inner(): i += 1 # akan menghasilkan error inner() return i

Namun bagi inner, variabel i dianggap sebagai variabel lokal, Python menganggapnya tidak terdeklarasi dan menampilkan error yang sesuai. Dulu, error seperti ini diperbaiki dengan menggunakan instruksi global. Namun di sini i adalah variabel non-lokal, oleh karena itu seharusnya digunakan instruksi nonlocal. Instruksi ini mengambil nama-nama variabel yang disebutkan ke ruang lingkup terdekat, tidak termasuk yang global, artinya i di dalam inner akan diambil dari variabel yang dideklarasikan di atas fungsi tersebut:

def outer(): i = 0 def inner(): nonlocal i i += 1 inner() return i print(outer()) # akan menampilkan 1

Dalam kode berikut, seorang programmer membuat kesalahan:

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

Apa yang salah dengan kode ini? Temukan dan perbaiki kesalahan pembuat kode.

Dalam kode berikut, seorang programmer membuat kesalahan:

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

Apa yang salah dengan kode ini? Temukan dan perbaiki kesalahan pembuat kode.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak