파이썬은 C/Java같은 블록 스코프가 없음.
대신 "함수 단위 스코프"만 있음.
--> for, if, while 블록 안에 만든 변수는 전역변수
--> 함수 내에서 만든 변수는 지역변수
> 함수 내에서 전역변수 선언방법 : "global"
def add():
global count += 1 ##
> 함수 안의 함수가 지역변수 접근방법 : "nonlocal"
def outer():
x = 10 #바깥 함수의 지역변수
def inner():
nonlocal x #안쪽 함수의 참조변수 (얘 바꾸면 바깥 x도 바뀜)
print(x) # 10
'Programming > Python' 카테고리의 다른 글
| [Python] 빠른 입출력 > sys (0) | 2025.09.09 |
|---|---|
| [파이썬-개념] 슬라이싱 (0) | 2025.09.05 |
| [python - 해결] 줄바꿈없이 출력, list 쉽게 생성, 원하는만큼만 입력받기 (0) | 2025.09.05 |
| [python] 주요 자료형, 이터러블, 이터레이터 (0) | 2025.09.05 |
| [python] f-string / range() / for문 - enum, zip (0) | 2025.09.05 |