함수 내부에서 전역변수 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

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

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