본문 바로가기
파이썬/자주하는 질문

파이썬(Python) 전역변수 함수에서 접근방법

by J-Build 2020. 9. 10.

파이썬 전역변수(global variable)를 함수에서 접근하기 위해서는 함수내에서 명시적으로 global 키워드를 사용해서 선언을 해주어야 합니다.

my_name = "J Builder"

def change_name():
    global my_name
    my_name += "!!!"

change_name()
print(my_name)
# J Builder!!!

만약 global 키워드를 사용하여 선언하지 않는다면 함수 내에서 해당 변수에 수정하는 사항들은 반영되지 않습니다. 정확히는 함수내에 있는 변수는 함수 안에서만 영향력을 갖는 지역변수로써 전역변수와는 다른 또 다른 변수가 되는것이죠. 

my_name = "J Builder"

def change_name():
    my_name += "!!!"	# 여기서 my_name은 함수 내에서만 보이는 지역변수 입니다. 따라서 전역변수 my_name의 값을 변경하지 않습니다.

change_name()
print(my_name)
# J Builder

 

전역변수는 함수에서 생성 할 수도 있습니다. 

def create_global_variable():
    global another_name
    another_name = "Awesome"

create_global_variable()
print(another_name)
# Awesome

 

전역변수는 반드시 필요한 곳에서만 최소한으로 사용하기를 추천드립니다. 만약 전역변수없이 할 수 있다면 사용을 하지 않는것이 코드의 유지보수, 그리고 정신건강에 도움이 됩니다. 

 

 

댓글