Python globals() 내장 함수
Python 3 설명서에서 발췌
현재 모듈 네임스페이스를 구현하는 딕셔너리를 반환합니다. 함수 내 코드의 경우, 이 딕셔너리는 함수가 정의될 때 설정되며 함수가 호출되는 위치에 관계없이 동일하게 유지됩니다.
소개
Python 의 globals() 함수는 현재 전역 심볼 테이블을 나타내는 딕셔너리를 반환합니다. 여기에는 현재 범위 내의 모든 전역 변수, 함수 및 기타 객체가 포함됩니다.
이는 전역 네임스페이스를 검사하거나 문자열 이름으로 전역 변수에 동적으로 액세스할 때 유용할 수 있습니다.
예시
# 전역 변수 정의
global_var = "I am global"
def my_function():
# globals() 를 사용하여 전역 변수 액세스
global_dict = globals()
print(global_dict["global_var"])
# 전역 변수 수정
global_dict["global_var"] = "Modified global"
my_function()
print(global_var)
I am global
Modified global
또한 함수 내에서 globals()를 사용하여 새 전역 변수를 만들 수도 있습니다.
def create_global():
globals()["new_global"] = "This was created dynamically"
create_global()
print(new_global)
This was created dynamically