[파이썬 입문] 04. 변수(variable)

변수(variable)는 어떤 값을 저장하는 공간이라고 할 수 있다. 다른말로 데이터(data)를 저장을 위해 프로그램으로부터 할당받은 메모리 공간을 의미한다. 즉, 변수(variable)는 데이터를 저장할 수 있는메모리 공간이며, 그 값은 변경될 수 있다.

 

1. 변수 정의하기


Q. : 반려 동물을 소개해 주세요

A : 우리 집 반려동물은 개인데, 이름이 연탄이예요.
연탄이는 4살이고, 산책을 아주 좋아해요.

Q : 연탄이는 수컷인가요?

A : 네.


 

위의 내용을 파이썬에서 코드로 작성해 보자.


print(“반려동물을 소개해 주세요.”)
print(“우리 집 반려동물은 개인데, 이름은 연탄이예요.”)
print(“연탄이는 4살이고, 산책을 아주 좋아해요.”)
print(“연탄이는 수컷인가요?”)
print(“네.”)


 

만약 반려동물의 이름을 해피로 바꾼다면?
‘연탄이’라고 적힌 부분을 모두 찾아서 ‘해피’로 바꿔야 한다.


print(“반려동물을 소개해 주세요.”)
print(“우리 집 반려동물은 개인데, 이름은 해피예요.”)
print(“해피는 4살이고, 산책을 아주 좋아해요.”)
print(“해피는 수컷인가요?”)
print(“네.”)


 

예제에서는 3군데 밖에 없지만, 프로그램이 크고 복잡하다면?

수 많은 파일과 어마어마한 양의 코드에서 ‘연탄이’가 사용된 부분을 일일이 찾아 고쳐야 하니 보통일이 아니며 실수로 놓치는 부분도 발생 할 수 있다.

이럴 때 변수(variable)를 사용한다. 변수는 어떤 값을 저장하는 공간이다.

변수명 = 값

파이썬에서는 = 를 ‘값을 대입한다’는 의미로 대입 연산자이다.

이제 반려동물을 소개하는 코드에 아래 정보들에 대한 변수를 사용해보자.

이름, 종류, 나이, 취미, 성별


name = “연탄이”
animal = “개”
age = 4
hobby = “산책”
is male = True


마지막으로 수컷이냐는 질문에 “네”라고 대답했으니, 파이썬에서는 참일 때는 사용하는 불 자료형인 True라고 값을 넣어보자.

변수를 만들고 값을 대입해 저장하는 과정을 변수를 정의한다 라고 표현한다.

변수

 

2. 변수 사용하기


name = “연탄이”
animal = “개”
age = 4
hobby = “산책”

print(“반려동물을 소개해 주세요.”)
print(“우리 집 반려동물은 개인데, 이름은 연탄이예요.”)
print(“연탄이는 4살이고, 산책을 아주 좋아해요.”)


 

위의 코드를 작성 후 변수를 아래와 같이 적용해보자.

“문자열” + 변수 + “문자열”


  print(“우리 집 반려동물은 “ + animal + “인데, 이름이 “ + name + “예요.”)


 

—————–실행결과——————
우리 집 반려동물은 개인데, 이름이 연탄이예요.
——————————————-

 

추가로 작성을 해보면,


print(“연탄이는 4살이고, 산책을 아주 좋아해요.”
print(name + “는 “ + age + “살이고, “ + hobby + “을 아주 좋아해요.")


 

——————–실행결과————————-
연탄이는 4살이고, 산책을 아주 좋아해요.
TypeError: can only concatenate str (not “int”) to str
—————————————————–

TypeError라는 것이 나올 것이다. 해석하면 문자열(str)은 문자열만 연결 할 수 있다는 뜻이다. name, age, hobby는 문자열이기에 숫자를 + 로 연결하려면 값의 형태인 자료형이 같아야 한다.

 


print(name + “는 “ + str(age) + “살이고, “ + hobby + “을 아주 좋아해요.")


 

∗ str()은 값의 자료형을 문자열로 바꾸는 기능을 하는 명령어.

 

다음과 같이 작성을 해보자.


name = “연탄이”
animal = “개”
age = 4
hobby = “산책“

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


 

——————–실행결과————————-
반려동물을 소개해 주세요.
우리 집 반려동물은 개인데, 이름이 연탄이예요.
연탄이는 4살이고, 산책을 아주 좋아해요.
—————————————————–

 

이제 변수의 값을 변경해서 결과를 확인해보자.


name = “해피
animal = “고양이
age = 4
hobby = “낮잠

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


 

——————–실행결과————————-
반려동물을 소개해 주세요.
우리 집 반려동물은 고양이인데, 이름이 해피예요.
연탄이는 4살이고, 낮잠을 아주 좋아해요.
—————————————————–

 

****쉼표로 연결하기****

+ 연산자와 쉼표의 차이점

  • 형변환하지 않아도 된다.
  • 값과 값 사이에 빈칸을 하나 포함된다.

name = “연탄이”
animal = “개”
age = 4
hobby = “산책“

print(name + “는 “ + str(age) + “살이고, “ + hobby + “을 아주 좋아해요.")
print(name, “는 “ , age, “살이고, “ , hobby, “을 아주 좋아해요.")


 

——————–실행결과————————-
연탄이는 4살이고, 산책을 아주 좋아해요.
연탄이 는 4 살이고, 산책 을 아주 좋아해요.
—————————————————–

 

3. 변수 형변환 하기

  • 문자열로 바꾸는 str()
  • 정수형으로 바꾸는 int()
  • 실수형으로 바꾸는 float()

*int는 정수를 뜻하는 interge의 줄임말
*float는 부동소수점을 의미하는 floting-point

 

댓글 남기기