오뚝이개발자

[Python] 파이썬 전역변수 global 본문

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
Comments