파이썬 전역변수(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
전역변수는 반드시 필요한 곳에서만 최소한으로 사용하기를 추천드립니다. 만약 전역변수없이 할 수 있다면 사용을 하지 않는것이 코드의 유지보수, 그리고 정신건강에 도움이 됩니다.
'파이썬 > 자주하는 질문' 카테고리의 다른 글
파이썬(Python) 2진수 10진수로 변환하기 (2) | 2020.09.10 |
---|---|
파이썬(Python) 8진수 16진수 정수 표현하기 (0) | 2020.09.10 |
파이썬(Python) 리스트 for 루프 중(iteration) 특정 아이템 제거하기 (0) | 2020.09.10 |
파이썬(Python) 함수 참조에 의한 호출? (0) | 2020.09.10 |
파이썬(Python) 2차원 리스트 합치기 (0) | 2020.09.09 |
댓글