14. 변수의 범위
2024. 9. 27. 03:08ㆍ파이썬(python)
1. 스코프(Scope)
파이썬에서 변수의 범위(scope)는 해당 변수가 프로그램 내에서 참조되고 변경될 수 있는 영역을 의미합니다. 파이썬의 변수 범위는 크게 4가지로 분류됩니다.
1-1.지역 변수
지역변수는 변수가 함수 내에서 정의될때 해당 함수 내부를 의미합니다.
def local_func():
local_var = '로컬 변수'
print(local_var)
local_func()
-->
로컬 변수
먼저 실행할시, 에러 발생!! 선언 먼저 하여야한다
#print(local_var) #NameError: name 'local_var' is not defined
1-2.둘러싼 범위(Enclosinf Scope)
* 둘러싼 범위는 내부 함수에서 외부 함수의 변수를 참조할때 해당 외부 함수 범위를 의미합니다.
def outer_func():
enclosing_var = "둘러싼 범위 변수"
def inner_func():
print(enclosing_var)
inner_func()
outer_func()
-->
둘러싼 범위 변수
1-3. 전역 범위(Global scope)
전역 범위는 변수가 스크립트의 최상위 수준에서 정의될때 전체 스크립트 파일 내에서 해당 변수를 의미합니다.
1)
global_var = '글로벌 변수'
def test_func():
print(global_var)
test_func()
-->
글로벌 변수
2)
global_var = 10 #전역 변수
def test_func():
global_var = 20 #지역 변수
print(global_var)
#내부의 변수 우선순위 그담은 외부
test_func()
print(global_var)
-->
20
10
3)
global_var = 10 #전역 변수
def test_func():
global global_var
global_var = 20 #전역 변수의 값을 수정
print(global_var)
#내부의 변수 우선순위 그담은 외부
test_func()
print(global_var)
-->
20
20
1-4. 내장범위(Built-in scope)
* 내장 범위는 파이썬의 내장 함수와 모듈들이 속하는 범위입니다.
* 예를 들어,print(), len() 같은 함수들이 여기에 해당됩니다.
* 변수의 범위 탐색 순서
1.지역 변수(Local scope)
2.둘러싼 범위(Enclosing scope)
3.글로벌 변수(Global scope)
4.내장 범위(Built-in scope)
위와 같은 순서로 탐색을 한다.
지역변위에 동일한 이름의 변수가 없으면 파이썬은 둘러싼 범위를 확인하고, 그 다음으로 전역범위, 마지막으로 내장범위를 확인합니다.
이렇게 변수의 범위를 이해하고 관리하는것은 코드의 가독성과 유지 보수성을 높이고, 예기치 않은 오류를 방지하는데 중요합니다.
728x90
LIST
'파이썬(python)' 카테고리의 다른 글
16. 객체지향과 클래스 (2) | 2024.09.27 |
---|---|
15. 콜백 함수 & 람다 함수 (2) | 2024.09.27 |
13. 사용자 정의 함수 (2) | 2024.09.26 |
12. 컬렉션 & 반복문 (2) | 2024.09.26 |
11. 제어문-반복문 (3) | 2024.09.26 |