
Namespace (네임스페이스) 와 Scope:
Namespace는
이름(name)과 객체(object)를
연결하는 매핑(mapping) 또는 그 매핑이 저장되는 공간.
변수 이름과 그 값(정확히는 객체)을 연결해 저장하는 이름표 보관함.
x = 10이라고 쓰면 "x" → 10이라는 이름표가 여기에 등록됨.
- 변수명, 함수명, 클래스명이 어디에 소속되어 해석되는지의 공간
- Frame 에 해당 정보가 실제 구현되는 경우가 많음 (Frame은 좀 더 많은 정보를 가짐).
Namespace와 관련이 깊은 용어로 Scope가 있음:
- Scope 는 이름(name)이 유효하게 보이고 참조될 수 있는 범위입니다.
- 즉, 어떤 변수명, 함수명, 클래스명 등을 현재 코드 위치에서 사용할 수 있는지와,
이름 해석(name resolution) 시 어느 범위의 이름들이 후보가 되는지를 정하는 개념임 - Python에서 Scope와 관련된 유명한 규칙이 LEGB 임!
Frame (프레임):
함수가 호출될 때 생성되는 작업 공간
- 해당 함수의 local variables, parameters, 실행 위치 등을 담고 있으며,
- 함수가 끝나면 사라짐.
- 흔히 call stack 위에 쌓이는 stack frame을 가리킴.
Python에서는 현재 함수의 frame이 지역 이름들을 담고 있어서 local namespace와 매우 밀접
Context (컨텍스트):
코드가 현재 어떤 환경에서 실행되고 있는지에 대한 정보 전체
- 어떤 namespace를 참조할지,
- 어떤 frame 위에서 동작하는지 등을 포괄하는 개념임.
매우 포괄적인 개념임.
요약
| 용어 | 핵심 의미 | 무엇을 담는가 | 주된 역할 | 서로의 관계 |
| Namespace | 이름(name)과 객체(object)의 매핑(mapping) |
변수명, 함수명, 클래스명 등의 이름과 그에 대응되는 객체 |
이름을 해석(name resolution)하는 기준 제공 |
frame과 밀접하지만 동일하지는 않음 실무에선 동일하게 봐도 별 어려움 없음. |
| Scope | 이름이 유효하게 탐색되는 범위 |
이름 탐색 규칙, 가시성(visibility) 범위 |
어떤 이름을 어디까지 찾을 수 있는지 결정 |
namespace를 찾는 규칙과 관련됨 |
| Frame | 함수 호출 시 생성되는 실행 상태 (execution state) |
지역변수, 매개변수, 현재 코드 위치, 이전 frame 링크 등 |
실행 중인 함수의 상태 유지 |
local namespace와 연결되는 경우가 많음 |
| Context | 코드가 해석되고 실행되는 전체 문맥(=context) |
실행 환경, 현재 상태, 규칙, 주변 정보 전반 |
해석과 실행의 배경 제공 |
가장 넓고 추상적인 상위 개념으로 자주 쓰임 |
보다 자세한 건 다음을 참고
https://dsaint31.tistory.com/508
[Basic] namespace, frame, and context
Namespace프로그래밍 등에서 나오는 namespace는 일종의 추상적인 개념변수와 함수, 클래스 들의 이름(name)이 정의되고 사용될 수 있는 범위(scope)를 지칭함. (때문에 scope 란 용어와 자주 같이 사용됨)v
dsaint31.tistory.com
2026.02.25 - [CE] - context 란?
context 란?
Process Context, Thread Context, Execution Context, Runtime Context 컴퓨터 과학에서 context 란 “코드가 실행되기 위해 필요한 상태 정보의 집합” 을 의미함. context라는 용어는 사용되는 관점에 따라 가리키는
ds31x.tistory.com
같이보면 좋은 자료들
2023.10.06 - [Pages] - [Python] function 과 Scope, Name Space 정리 - Summary
[Python] function 과 Scope, Name Space 정리 - Summary
Function이란?https://dsaint31.me/mkdocs_site/CE/ch05/ch05_02_01_function/ BME228Function in the Programming Mathematics에서의 function과 약간의 차이점이 있으나 프로그래밍에서의 function은 많은 부분에서 Mathematics에서의 fu
ds31x.tistory.com
2026.04.12 - [개발환경] - Gemini-CLI: GEMINI.md - Local Instructional Context
Gemini-CLI: GEMINI.md - Local Instructional Context
1. OverviewGEMINI.md는 Gemini CLI가 각 prompt와 함께 자동으로 읽어 들이는 local instructional context file.AI에게 "어떻게 응답할 것인가", "어떻게 작업할 것인가"를 사전에 정의하는 configuration file의 역할을
ds31x.tistory.com
'Python' 카테고리의 다른 글
| pip install 옵션 정리 (0) | 2026.05.03 |
|---|---|
| [VSCode] # %% : Code Cell Marker (1) | 2026.04.19 |
| pytest - tutorial (0) | 2026.04.01 |
| Windows Python install manager 설치하기 (0) | 2026.03.17 |
| py 와 python 의 차이: Python Launcher, PIM, and Python (0) | 2026.03.16 |