Python 정리

파이썬 - 변수의 Scope

dawon-project 2025. 2. 8. 16:15
  • 네임 스페이스(namespace, 이름공간)
    • 특정 객체를 이름에 따라 구분 가능한 범위
    • 즉, 같은 이름이 중복 사용되면 안되는 공간
    • 변수나 함수, 클래스 등의 이름을 저장하는 공간
    • 전역 네임스페이스 : 프로그램 전체 범위에서 사용되는 전역 이름공간
    • 지역 네임스페이스 : 함수 영역에서 사용되는 지역 이름 공간
  • 전역 변수(Global Variable)
    • 프로그램 전체에서 접근 가능한 유효 범위를 갖는 변수
    • 함수 외부에서 정의된 변수
    • 프로그램 종료 시 같이 소멸
    • 모든 함수에서 접근 가능
      -> 전역 네임스페이스에 저장되었기 때문
      -> 전역 변수를 단순히 읽기만 할때는 변수명을 통해 그냥 접근 가능
      -> 전역 변수를 수정하고 싶을때는 "global" 키워드를 통해서 접근 후 수정해야함
    • global 키워드 : 변수 유효범위(변수 스코프)
      -> 지정한 변수의 유효범위가 전역임을 선언
      -> 함수 내에서 같은 이름으로 지역 변수의 생성을 차단
      -> 전역 네임스페이스에 해당 변수명이 없다면 자동으로 생성해준다. 즉, 전역 변수를 함수 내부에서 수정하거나 새로 생성할 수 있게 된다.
  • 지역 변수(Local Variable)
    • 해당 변수가 생성된 범위(코드 블록) 내부에서만 유효
    • 함수 내부에서 정의된 변수
    • 함수 코드 종료 시 소멸
    • 해당 함수 내부에서만 접근 가능

-> global 키워드를 사용하지 않고 같은 변수명으로 선언하여 값을 할당하면 별개의 변수로 취급된다.

-> 즉 지역 네임스페이스하고 전역 네임스페이스는 global 키워드를 쓰지 않으면 독립적인 관계라고 볼 수 있다.

 

'Python 정리' 카테고리의 다른 글

파이썬 - 집합 자료형  (0) 2025.02.08
파이썬 - 파일처리  (1) 2025.02.08
파이썬 - 클래스  (0) 2025.02.07
파이썬 - 프로그래밍 특성 2가지  (0) 2025.02.07
파이썬 - 함수  (0) 2025.02.07