더북(TheBook)

2.4.4 변수를 사용할 때 유의할 점

반려동물 예제에서 변수를 코드 시작 부분에 정의했지만, 반드시 그럴 필요는 없습니다. 변수에는 다음과 같은 특징이 있기 때문입니다.

• 변수는 사용하기 전에 정의한다.

• 변수는 사용하기 전에 마지막으로 저장한 값을 사용한다.

어떤 의미인지 살펴보겠습니다. 코드에서 name 변수를 다음처럼 print() 문 중간으로 옮겨 정의하고 실행해 봅시다.

animal = "개"
age = 4
hobby = "산책"

print("반려동물을 소개해 주세요.")
print("우리 집 반려동물은 " + animal + "인데, 이름이 " + name + "예요.")
name = "연탄이"
print(name + "는 " + str(age) + "살이고, " + hobby + "을 아주 좋아해요.")

실행결과 icon_con

NameError: name 'name' is not defined

오류가 발생하고 오류 메시지를 출력합니다. ‘name이라는 변수를 아직 정의하지 않았다’고 하네요. 즉, name 변수를 정의하기 전에 print() 문에서 사용하려고 해서 오류가 발생했다는 뜻입니다. 이처럼 변수는 사용하기 전에 정의해야 합니다.

 

TIP | 오류 메시지가 나오지 않는다면 기존 코드를 삭제하고 해당 코드만 단독으로 실행해 보세요. 기존 코드가 있으면 앞에서 정의한 name 변수의 값을 사용하게 돼서 오류가 발생하지 않습니다.

 

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