20분
스코프: 변수가 보이는 범위
Day 1: 함수 - 반복되는 코드의 해결사
스코프: 변수가 보이는 범위
Python 기초 2: 함수, 클래스, 모듈, 파일 > Day 1: 함수 - 반복되는 코드의 해결사
학습 목표
지역 변수와 전역 변수를 구분한다 LEGB 규칙을 이해한다 global, nonlocal 키워드를 안다
실무에서 겪는 혼란
에디터 로딩 중...
"왜 에러지? count 위에서 선언했는데?"
지역 변수 vs 전역 변수
에디터 로딩 중...
함수 안에서 변수에 값을 할당하면 새 지역 변수가 생긴다. 전역 변수와 이름이 같아도 다른 변수다.
LEGB 규칙
Python이 변수를 찾는 순서:
에디터 로딩 중...
global: 전역 변수 수정하기
에디터 로딩 중...
하지만 global은 가급적 피하자. 상태 추적이 어려워진다.
nonlocal: 감싸는 함수의 변수
에디터 로딩 중...
이게 **클로저(Closure)**의 기초다. (Day 2에서 더 자세히)
권장 패턴: 인자로 받고 return으로 돌려주기
에디터 로딩 중...
함수는 입력을 받아 출력을 돌려주는 것이 이상적이다.