반응형
1. 네임스페이스란? Namespace란?
네임스페이스는 변수와 이름들이 저장되는 공간을 의미합니다. 파이썬은 개발자가 변수나 함수를 만들때마다 어딘가에 이를 저장하게 되는데, 이 저장 공간이 바로 네임스페이스 입니다.
2. 그럼 스코프는? Scope란?
스코프는 변수의 유효범위를 나타냅니다. 파이썬에서는 각각의 함수, 클래스, 모듈이 별도의 스코프를 가집니다. 또한 변수의 사용가능 여부는 스코프에 의하여 결정됩니다. 변수는 자신이 정의된 스코프와 하위 스코프에서 사용할 수 있습니다.
아래 예제와 설명을 통하여 알아보도록 하겠습니다.
예제
# 전역 네임스페이스와 스코프
global_variable = 10
def example_function():
# 함수 내부 네임스페이스와 스코프
local_variable = 5
print(global_variable + local_variable)
example_function()
# 아래의 코드는 에러를 발생시킵니다.
print(local_variable)
- 전역 네임스페이스에서 global_variable이 정의
- example_function 내부 네임스페이스에서 local_variable이 정의
- print(global_variable + local_variable) 문장은 전역 및 함수 내부 네임스페이스의 변수를 참조하여 값을 계산하고 출력
- print(local_variable) 문장은 example_function의 외부에서 실행되어 local_variable을 찾을 수 없음
3. 결론
파이썬에서 네임스페이스와 스코프라는 개념을 통해 변수 이름의 관리와 사용 가능 범위를 제어할 수 있습니다. 이러한 개념을 이해하고 코딩하면 변수의 충돌을 피할 수 있고 코드를 더 효율적으로 작성할 수 있습니다!
반응형
'파이썬(python) 기본' 카테고리의 다른 글
파이썬 클래스: 메타 클래스와 동적 클래스 생성 (0) | 2023.08.16 |
---|---|
파이썬 가비지 컬렉션: 메모리 관리의 핵심, 참조 카운트 (0) | 2023.08.16 |
파이썬 파일 다루기: 입출력과 파일 처리 기초 (0) | 2023.08.16 |
파이썬 내장 함수, 표준 라이브러리: 다양한 내장 함수와 라이브러리 (0) | 2023.08.14 |
파이썬 컴프리헨션: 컴프리헨션(Comprehension) 이란? (0) | 2023.08.14 |