python
파이썬에서 전역, 지역, 비지역 변수 사용법을 마스터하고, 깔끔하고 유지보수하기 쉬운 코드를 위해 각각 언제 적용할지 아세요.
파이썬에서 함수 밖(모듈 레벨)에 선언된 변수는 전역 변수입니다. 모듈 어디서든 읽을 수 있지만, 함수 내부에서 수정하려면 global 키워드로 선언해야 합니다.
예제: 전역 변수 생성과 읽기
x = "global"
def foo():
print("x inside:", x)
foo()
print("x outside:", x)
출력
x inside: global x outside: global
global 선언 없이 x 재할당 시도 시 UnboundLocalError 발생:
x = "global"
def foo():
x = x * 2
print(x)
foo()
출력
UnboundLocalError: local variable 'x' referenced before assignment
함수 내부에서 전역 변수 수정하려면 global 키워드 사용:
x = "global"
def foo():
global x
x = x * 2
print(x)
foo()
출력
globalglobal
지역 변수는 함수 본문 내부에서 정의되며 해당 함수 실행 동안만 존재. 함수 밖에서 접근 불가.
예제: 스코프 밖에서 지역 변수 접근 시도
def foo():
y = "local"
foo()
print(y)
출력
NameError: name 'y' is not defined
지역 변수 올바르게 정의하고 사용:
def foo():
y = "local"
print(y)
foo()
출력
local
같은 모듈에서 두 스코프 함께 쓰는 게 일반적. global 키워드로 변수가 모듈 레벨 인스턴스 참조함을 보장.
x = "global "
def foo():
global x
y = "local"
x = x * 2
print(x)
print(y)
foo()
출력
global global local
지역 변수가 전역 변수와 같은 이름일 때 서로 독립적:
x = 5
def foo():
x = 10
print("local x:", x)
foo()
print("global x:", x)
출력
local x: 10 global x: 5
중첩 함수는 nonlocal 키워드로 외부(전역 아님) 스코프 변수에 접근하고 수정 가능.
def outer():
x = "local"
def inner():
nonlocal x
x = "nonlocal"
print("inner:", x)
inner()
print("outer:", x)
outer()
출력
inner: nonlocal outer: nonlocal
참고: 내부 함수에서 비지역 변수 업데이트 시 외부 함수 스코프의 변수도 업데이트됨.
python
파이썬이란 무엇인가? 파이썬은 가독성과 간결한 문법으로 유명한 고수준 객체지향 프로그래밍 언어입니다. 동적 타이핑, 내장 자료구조, 모듈화된 아키텍처 덕분에 웹 서비스부터 과학 컴퓨팅까지 다양한 영역에서 빠른 애플리케이션 개발과 코드 재사용이 가능합니다. 파이썬의 명확성 강조는 초보자에게 이상적이며, 방대한 표준 라이브러리와 견고한 커뮤니티 지원 덕분에 엔터프라이즈와 연구 환경에서도 여전히 사랑받고 있습니다. 이 가이드에서 다룰 내용 파이썬의 정의와 강점 분야 루비의 정의와 틈새 강점 각 언어의 주요 특징 설계와
파이썬 2란 무엇인가? 파이썬 2는 파이썬 개선 제안(PEP)에 명시된 기술적 세부사항을 해결하며 개발을 간소화했습니다. 최종 릴리스인 파이썬 2.7은 2020년에 수명 종료(EOL)를 맞이했으며, 파이썬 소프트웨어 재단에서 더 이상 지원하지 않습니다. 여전히 레거시 시스템에서 사용되지만 미래는 불확실합니다. 기존 코드베이스에 대한 레거시 지원 Puppet, Ansible 등 구형 라이브러리 및 도구와의 호환성 아직 파이썬 3로 마이그레이션할 수 없는 조직 파이썬 3란 무엇인가? 2008년 12월 출시된 파이썬 3는