파이썬 강의 2편 - 변수와 자료형
이번 시간에 다룰 내용은 변수(Variable)와 자료형(Data Type)입니다. 기본적으로 프로그램은 값을 기억해두었다가 나중에 꺼내어 사용해야 한다는 점에서 변수라는 개념이 반드시 필요합니다.
변수 사용하기
간단한 변수부터 만들어보겠습니다.
name = "나동빈"
age = 30
print(name)
print(age)
여기에서 주의하실 점이 하나 있습니다. 바로 = 기호가 "같다"는 의미가 아니라 "넣는다" 는 의미라는 점입니다. 오른쪽에 있는 값을 왼쪽에 있는 이름에 담는 것입니다.
수학 시간에 배웠던 등호와는 다르다는 점을 먼저 받아들이시면 이후의 내용이 훨씬 편해집니다.
한 번 담은 값은 다시 바꾸어 줄 수 있습니다.
count = 1
count = count + 1
print(count)
실행 결과
2
count = count + 1 이라는 구문은 수학적으로는 성립하지 않지만, "현재 담겨 있는 값에 1을 더해서 다시 담아라"로 읽으시면 자연스럽게 이해하실 수 있습니다.
세 가지 자료형
파이썬이 다루는 값에는 여러 가지 종류가 있습니다. 처음에는 다음의 세 가지만 알고 계시면 됩니다.
| 종류 | 이름 | 예시 |
|---|---|---|
| 숫자 | int, float | 30, 3.14 |
| 문자열 | str | "안녕", 'hello' |
| 참·거짓 | bool | True, False |
특정한 값이 어떤 자료형인지 궁금한 경우에는 type() 함수를 사용하시면 됩니다.
print(type(30))
print(type("안녕"))
print(type(True))
실행 결과
<class 'int'>
<class 'str'>
<class 'bool'>
숫자와 문자열의 차이
이번 시간에서 가장 중요한 부분입니다. 다음 소스코드를 확인해봅시다.
a = 10
b = "10"
print(a + a)
print(b + b)
실행 결과
20
1010
겉으로 보기에는 같은 10 처럼 보이지만 결과가 완전히 다릅니다. 숫자끼리 더하면 계산이 수행되고, 문자열끼리 더하면 이어 붙는다는 점을 기억해주시면 됩니다.
그렇다면 숫자와 문자열을 섞으면 어떻게 될까요?
print(a + b)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
오류가 발생합니다. 파이썬은 숫자와 글자를 알아서 섞어주지 않는다는 점에서 직접 자료형을 바꾸어 주셔야 합니다.
print(a + int(b)) # 20
print(str(a) + b) # 1010
사용자 입력 받기
input() 함수를 이용하면 사용자로부터 값을 입력받을 수 있습니다.
name = input("이름을 입력하세요: ")
print(name + "님 반갑습니다")
다만 여기에서 한 가지 주의하실 점이 있습니다.
age = input("나이를 입력하세요: ")
print(age + 1) # 오류 발생
input() 함수는 사용자가 무엇을 입력하든 항상 문자열로 반환한다는 점에서, 숫자로 사용하시려면 반드시 변환해주셔야 합니다.
age = int(input("나이를 입력하세요: "))
print(age + 1)
연습 문제
- 이름과 나이를 입력받아 "○○님은 내년에 △△살입니다" 를 출력하기
- 두 개의 숫자를 입력받아 더하기, 빼기, 곱하기 결과를 각각 출력하기
- 원의 반지름을 입력받아 넓이를 구하기 (원주율은 3.14159 로 계산)
풀다가 막히시는 부분이 있다면 댓글로 남겨주시면 됩니다.
다음 편에서는 조건문(Conditional Statement)을 살펴보겠습니다.