더북(TheBook)

지금까지 살펴본 지역변수와 전역변수의 사용 범위를 정리하면 다음과 같습니다.

▼ 표 13-3 지역변수와 전역변수의 범위

변수

함수 내부

함수 외부

지역변수

값 읽기 O

값 변경 O

값 읽기 X

값 변경 X

전역변수

값 읽기 O

값 변경 X(global 사용 시 값 변경 O)

값 읽기 O

값 변경 O

 

지역변수와 전역변수 비교

지역변수와 전역변수의 차이를 프로그램을 작성해 알아봅시다.

상점이나 벌점을 주는 reward_penalty() 함수를 정의하고, 이 함수를 호출해 현재 점수에 상점 5점을 추가해 보겠습니다. 프로그램을 다음과 같이 작성합니다.

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

current_point = 5
reward_penalty('상점', 5)
print('최종 점수 :', current_point)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.