알고리즘(파이썬)
Python의 변수 스코프
오마이냥
2025. 2. 7. 22:54
if (true) {
int x = 10;
}
System.out.println(x); // 오류 발생
자바에서는 제어문(if, for, while 등) 내부에서 선언된 변수는 그 블록을 벗어나면 접근할 수 없다. 즉 x 변수를 자바에서 사용하려면 if문 바깥에서 미리 선언해줘야 한다.
반면 Python에서는 if문 안에서 선언된 변수도 함수(또는 전체 코드 블록) 내에서 접근할 수 있다. 즉 x 변수가 if문 내부에서 선언되더라고 그 변수를 print(x)에서 사용할 수 있다. Python은 블록이 아닌 들여쓰기를 기준으로 코드 블록을 구분하지만 내부에서 선언된 변수도 그 코드 블록을 감싸는 스코프(main 등)에서 살아남는다.
if True:
x = 10 # if 문 안에서 선언
print(x) # 정상적으로 출력