728x90 Global2 [PYTHON] nonlocal 키워드와 global 키워드의 3가지 스코프 제어 차이와 변수 오염 해결 방법 파이썬 프로그래밍을 진행하다 보면 함수 내부에서 외부 변수의 값을 수정해야 하는 상황을 마주하게 됩니다. 이때 초보 개발자들이 가장 흔히 저지르는 실수는 단순히 변수 이름을 호출하여 값을 할당하려 하는 것입니다. 하지만 파이썬의 LEGB(Local, Enclosing, Global, Built-in) 스코프 규칙에 따라, 명시적인 키워드 없이 외부 변수를 수정하는 것은 불가능합니다. 본 포스팅에서는 global과 nonlocal 키워드의 명확한 동작 원리를 분석하고, 중첩 함수 구조에서 발생하는 데이터 무결성 문제를 해결하는 전문가급 가이드를 제공합니다.1. Global 키워드: 모듈 레벨의 전역 변수 제어global 키워드는 현재 함수 스코프 내에서 특정 변수가 모듈 전체의 전역 범위(Global Sc.. 2026. 3. 2. [PYTHON] 함수 안에서 전역 변수를 수정하려면? (global 키워드) 파이썬 프로그래밍을 배우다 보면 가장 먼저 마주하는 난관 중 하나가 바로 '변수의 범위(Scope)'입니다. 특히 함수 내부에서 함수 외부에 선언된 변수(전역 변수)의 값을 읽는 것은 가능하지만, 값을 수정하려고 할 때 예기치 않은 오류(UnboundLocalError)가 발생하거나 값이 변하지 않는 현상을 겪게 됩니다. 이때 구원 투수로 등장하는 것이 바로 global 키워드입니다. 본 포스팅에서는 단순한 문법 설명을 넘어, 왜 파이썬이 이러한 구조를 가지고 있는지, global 키워드를 언제 사용해야 하며, 실무에서는 왜 이를 지양하고 대안을 찾는지 전문 개발자의 관점에서 심도 있게 다룹니다.1. 파이썬의 변수 범위: LEGB 규칙파이썬은 변수를 찾을 때 LEGB 규칙을 따릅니다. 이는 변수가 어디에.. 2026. 2. 13. 이전 1 다음 728x90