이번 포스팅은 파이썬에서 사용되는 내장 함수에 대해 정리하였습니다.
| 파이썬의 네임스페이스(Namespace)
파이썬에서는 변수와 함수들이 정의되는 공간을 네임스페이스라고 합니다.
네임스페이스는 변수 이름과 그에 해당하는 객체(값)들 간의 매핑을 저장하는 딕셔너리로 구현됩니다.
예를 들어, 함수 내에서 정의된 변수는 해당 함수의 지역 네임스페이스에 저장되고,
함수 외부에서 정의된 변수는 전역 네임스페이스에 저장됩니다.
이제 함수 내부와 외부에서 사용하는 네임스페이스에 대해 알아보겠습니다.
| globals()
이 함수는 현재의 전역 네임스페이스를 나타내는 딕셔너리를 반환합니다.
이 딕셔너리에는 전역으로 정의된 모든 변수와 함수가 포함됩니다.
딕셔너리를 수정하면 전역 네임스페이스의 내용이 변경됩니다.
예제)
x = 10 # 전역 변수
def test_function():
y = 5 # 지역 변수
print(globals()) # 전역 변수들을 출력
test_function()
위 코드에서 globals() 함수는 전역 변수 'x' 와 test_function 함수까지 포함하는 딕셔너리를 출력합니다.
지역 변수 'y'는 출력되지 않습니다.
전역 변수는 함수 바깥에서 정의된 변수로서, 프로그램 어디에서든 참조 가능합니다.
| locals()
locals() 함수는 현재 지역 네임스페이스를 나타내는 딕셔너리를 반환합니다.
함수나 메서드 내에서 호출될 때, 해당 함수 또는 메서드의 지역 네임스페이스를 반환합니다.
예제)
x = 10 # 전역 변수
def test_function():
y = 5 # 지역 변수
print(locals()) # 지역 변수들을 출력
test_function()
위 코드에서 locals() 함수는 지역 변수 'y' 와 test_function 함수까지 포함하는 딕셔너리를 출력합니다.
전역 변수 'x' 는 출력되지 않습니다.
지역 변수는 함수 내에서만 사용되는 변수로, 함수 외부에서는 참조할 수 없습니다.
따라서, globals() 함수는 현재의 전역 변수를 확인할 때, locals() 함수는 현재의 지역 변수를 확인할 때 사용됩니다.
| 마무리
저는 globals(), locals() 함수를 변수의 유효 범위를 확인할 때 사용합니다.
디버깅을 하면서 유용하게 사용하고 있으며 프로젝트를 진행할 때 자주 사용합니다ㅎㅎ
틀린 점이나 질문이 있으시면 댓글로 남겨주세요!
감사합니다 :)
'Python > Python 정리' 카테고리의 다른 글
Python 객체 속성 처리 메서드 : hasattr(), getattr(), setattr() (0) | 2024.02.20 |
---|---|
Python collections 모듈 : Defaultdict, OrderedDict 이해 (0) | 2024.02.16 |
Python 에러 발생 방법 (raise) (0) | 2024.02.15 |
Python 예외 처리 방법 (try ~ except) (2) | 2024.02.14 |
[Python] Descriptor 이해 : 객체 속성 제어의 고급 기능 (0) | 2023.10.04 |