반응형
질문
어떻게 함수 내에서 전역 변수를 만들거나 사용할 수 있나요?
어떻게 한 함수에서 정의된 전역 변수를 다른 함수 내에서 사용할 수 있나요?
global
키워드를 적절하게 사용하지 않으면 종종 UnboundLocalError
가 발생합니다. 이에 대한 정확한 규칙은 UnboundLocalError on local variable when reassigned after first use에서 설명됩니다. 일반적으로, 이 설명이 필요한 경우 그 질문을 중복으로 답변하고, global
키워드를 알아야하는 경우 이 질문을 중복으로 답변하십시오.
답변
다른 함수 내에서 전역 변수를 사용하려면 global
을 값을 할당하는 각 함수 내에서 선언해야합니다:
globvar = 0
def set_globvar_to_one():
global globvar # globvar의 전역 복사본을 수정해야합니다.
globvar = 1
def print_globvar():
print(globvar) # globvar의 값을 읽는 데 전역 선언이 필요하지 않습니다.
set_globvar_to_one()
print_globvar() # 1을 인쇄합니다.
globvar = 1
이 로컬 변수를 생성하는지 전역 변수를 변경하는지 불명확하기 때문에 Python은 로컬 변수를 만들고 global
키워드로 다른 동작을 명시적으로 선택하도록합니다.
모듈 간에 전역 변수를 공유하려는 경우 다른 답변을 참조하십시오.
반응형
댓글