Namespace (3) 썸네일형 리스트형 사전과 네임스페이스 파이썬의 Namespace와 Scope 지난 포스트에서 살펴봤듯이 파이썬에서는 변수, 함수, 모듈이 사용될 때 그 객체를 어디서 찾을지 결정하는 Local - Global - Built-in 계층이 존재합니다. 가장 먼저 모든 지역 변수를 담은 locals() 배열을 찾습니다. locals() 배열은 함수 호출 시 만들어지는 스택 프레임 안의 지역 변수 영역을 의미하고, 어떤 함수 안에서 자신의 지역 변수에 접근할 때는 그 변수가 스택 프레임 내의 지역 변수 영역에서 몇 번째에 있는가를 이미 알기에 색인을 사용해 빠르게 접근할 수 있습니다. 여기서 해당 객체를 찾을 수 없으면 globals() 사전에서 찾게 됩니다. globals() 에서도 찾을 수 없다면 마지막으로 __builtin__ 객체에서 찾습니.. 파이썬의 Namespace와 Scope Namespace 파이썬에서 할당은 (assignment, =) 특정 객체에 변수 이름을 부여하는 행위를 말합니다. 예를 들어 "x=3" 이라면 3이라는 객체를 x라는 변수 이름으로 할당하고 x라는 이름은 3이라는 객체의 레퍼런스가 됩니다. Namespace (이름공간)는 여러 객체와 그것의 레퍼런스가 (이름) 사전 타입으로 (키는 객체 레퍼런스의 이름, 값은 객체) 묶인 콜렉션으로 다음과 같이 4가지 타입이 존재합니다. Built-in namespace Built-in namespace 에는 파이썬의 built-in 객체의 이름이 담긴 것으로 파이썬이 구동되고 있다면 언제 어디서든 사용할 수 있는 것들로 구성되어 있습니다. 파이썬에서 다루는 사전예약된 키워드 (return, local, id, dict.. Docker의 작동 구조 Namespace Docker는 리눅스 커널의 namespace 기능을 사용하여 컨테이너라는 독립된 환경을 만듭니다. Namespace는 한 덩어리의 데이터에 이름을 붙여 분할함으로써 충돌 가능성을 줄이고 쉽게 참조할 수 있는 개념으로 같은 이름의 객체라도 속해 있는 namespace가 다를 경우 다른 실체로 처리됩니다. 리눅스 커널의 namespace는 다음 6가지 독립된 namespace를 지원합니다. Namespace PID namespace PID란 Process ID의 약자로 리눅스에서 각 프로세스에 할당된 고유 ID를 말하며, namespace가 다른 프로세스끼리는 서로 액세스 할 수 없습니다. Network namespace 네트워크 디바이스, IP 주소, 포트 번호, 라우팅 테이블 과 같은.. 이전 1 다음