Language/파이썬
[Python] 파이썬 전역변수 global
땅어
2020. 11. 16. 14:07
728x90
300x250
파이썬에서 전역변수를 사용하려면 global 키워드를 사용해야 한다. 파이썬은 함수 내에서 사용하는 변수는 자동적으로 지역변수로 간주하기 때문이다. 따라서 global이라는 키워드를 붙여줌으로 해당 변수는 전역변수를 사용하는 것이라는 점을 명시해주어야 한다.
x = 5
def solution():
global x
x += 1
print(x) # 6
위와 같이 x를 처음에 전역변수로 선언해 5를 할당한 뒤 solution이란 함수에서 global x 키워드를 사용하여 1을 더해주었다. 만약 global x를 지워버리면 어떻게 될까?
x = 5
def solution():
x += 1
print(x)
위 코드를 실행시키면 "UnboundLocalError: local variable 'x' referenced before assignment"라고 에러 문구가 뜰 것이다. 즉, solution 내의 x를 지역변수로 간주하여 값이 할당되지도 않았는데 1을 더해주기 때문에 생기는 에러이다.
x = 5
def solution():
x = 1
print(x) # 1
위 코드의 결과값은 무엇일까? 바로 1이다. 이처럼 global을 사용하지 않으면 무조건 지역변수로 간주한다.
728x90
300x250