본문 바로가기
목차
Python

Namespace, Scope, Frame, and Context

by ds31x 2026. 4. 12.
728x90
반응형

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

 

 

728x90

'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