CHAAANY ARCHIVE

Python global

1개의 기록을 주제별로 둘러보세요.

Python nonlocal은 언제 필요한가: 중첩 함수의 변수 재바인딩

Python의 nonlocal은 중첩 함수 안에서 가장 가까운 바깥 함수 스코프의 변수를 재바인딩할 때 쓴다. 단순히 값을 읽는 데는 필요하지 않다. count += 1처럼 기존 값을 읽은 뒤 새 값을 대입할 때 필요하다.핵심은 “바깥 변수에 접근한다”보다 이름이 어느 스코프의 객체를 가리키게 할 것인가다.읽기와 재바인딩을 구분한다중첩 함수는 바깥 함수의 지역 변수를 읽을 수 있다.def outer(): message = "hello" def read_message(): return message return read_message()read_message는 message를 대입하지 않으므로 Python이 바깥 스코프에서 이름을 찾는다. 이때는 nonlocal이 필요 없다.반..

728x90