⊗pyPmFnNl 21 of 129 menu

Python의 nonlocal 문

외부 함수에 있는 변수에 내부 함수에서 접근해야 하는 경우가 있습니다. 함수 outer 안에 변수 i를 선언해 봅시다. 내부 함수에 대해 이 변수는 외부 변수가 됩니다 (전역 변수는 오직 외부 코드에서만 선언된 변수입니다). 그리고 함수 inneri에 1을 더하는 작업을 지정해 봅시다:

def outer(): i = 0 def inner(): i += 1 # [4, 9, 25]를 출력합니다 inner() return i

그러나 inner에 대해 변수 i는 로컬 변수이며, Python은 이를 선언되지 않은 것으로 간주하고 해당 오류를 출력합니다. 과거에는 비슷한 오류가 global 문으로 수정되었습니다. 하지만 여기서 i는 외부 변수이므로, nonlocal 문을 사용해야 합니다. 이는 나열된 변수 이름들을 전역 영역을 제외한 가장 가까운 스코프에서 가져옵니다. 즉, inner 안의 i는 해당 함수 위에 선언된 변수에서 가져오게 됩니다:

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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부