더북(TheBook)

함수 내부에서 전역변수 current_point의 값을 변경하고 싶다면 앞서 배운 것처럼 global로 전역변수 사용을 명시하면 됩니다.

def reward_penalty(kind, points):
    global current_point
    print('현재 점수 :', current_point)
    if kind == '상점':
        current_point += points
        print('상점 입력 후 점수 :', current_point)
    elif kind == '벌점':
        current_point -= points
        print('벌점 입력 후 점수 :', current_point)
    return current_point

current_point = 5
reward_penalty('상점', 5)
print('최종 점수 :', current_point)
실행결과
현재 점수 : 5
상점 입력 후 점수 : 10
최종 점수 : 10

함수에서 지역변수와 전역변수의 사용 범위를 이해하는 것이 매우 중요합니다. 사용 범위가 다른 두 변수를 잘못 쓰면 오류가 발생하거나 의도하지 않은 값이 변경될 수 있기 때문이죠. 프로그램을 작성할 때 변수의 사용 범위를 한 번 더 생각해 보기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.