Programming/Python

[python] 변수 범위 / global / nonlocal

Nobb 2025. 9. 5. 17:13
파이썬은 C/Java같은 블록 스코프가 없음.
대신 "함수 단위 스코프"만 있음.
--> for, if, while 블록 안에 만든 변수는 전역변수
--> 함수 내에서 만든 변수는 지역변수

 

> 함수 내에서 전역변수 선언방법  :  "global"

def add():
	global count += 1	##

 

> 함수 안의 함수가 지역변수 접근방법  :  "nonlocal"

def outer():
	x = 10		#바깥 함수의 지역변수
    
    def inner():
    	nonlocal x	#안쪽 함수의 참조변수 (얘 바꾸면 바깥 x도 바뀜)
        print(x)	# 10