이번 포스팅에선 파이썬(Python)의 숫자(Numbers)에 대해서 알아보겠습니다.
숫자(Numbers) 란?
숫자는 주로 연산(계산)을 할 때 사용됩니다. 덧셈이나 뺄셈, 나눗셈과 곱셈등의 연산을 할 때 사용이 됩니다. colab 노트북에서 아래와 같이 숫자 연산을 해보세요. 마치 계산기를 사용하듯 결과를 볼 수 있죠.
3 + 5
# 8
10 - 2
# 8
2 * 4
# 8
16 / 2
# 8
숫자를 사용한 연산은 우리가 알고 있는 연산 규칙을 그대로 따릅니다. 예를 들어서, 괄호안에 있는 연산이 우선순위를 갖게되죠.
10 - 3 * 2
# 4
(10 - 3) * 2
# 14
숫자는 마이너스 기호를 앞에 붙여서 음수를 가르킬 수 있으며, 나눗셈의 결과로 소수점을 가질 수 도 있습니다.
3 - 10
# -7
12 / 5
# 2.4
파이썬에서는 아래처럼 나눗셈의 몫과 나머지를 가져오는 연산자도 제공을 합니다.
12 // 5
# 2 (몫은 2가 됩니다)
12 % 5
# 4 (나머지는 4가 되구요)
5 * 2 + 4
# 12 (5 * 몫 + 나머지 = 12)
숫자 타입의 변수
이제 숫자를 좀 더 의미있게 사용하기 위해서, 이전 강의에서 배웠던 변수(Variables)를 같이 사용해 볼께요. 그리고 변수에 숫자(Numbers)를 할당해서 변수를 가지고 연산을 해볼께요. 변수에 값을 할당해서 사용하면 한번 사용했던 숫자(또는 연산)를 반복적으로 계속해서 사용할 수 있습니다.
a = (10 - 3)
b = 2
a * b
# 14
(a - 2) * b
# 10
a = 12 // 5
b = 12 % 5
c = 5 * a + b
c == 12
# True
숫자의 타입
파이썬에서 숫자(Numbers)는 아래와 같이 세가지 타입으로 구분됩니다.
- int
- float
- complex
int 타입은 정수를 가리킵니다. 예를 들어서 아래와 같은 변수들을 int 타입의 변수라고 할 수 있죠.
a = 2
b = 0
c = -10
float 타입은 소수점을 가진 정수, 즉, 부동소수점 수를 의미합니다. 예를 들어서 아래와 같은 변수들이 float 타입이죠.
abc = 1.123
b = -0.12345
complex 타입은 복소수를 의미합니다. 아래와 같이 복소수 변수를 생성할 수 있죠. (복소수는 많이 사용하지 않기 때문에, '아, 이런 타입도 있구나' 하고 알고만 있어도 괜찮습니다.)
c = 10j
d = 3 + 1j
(아직 함수는 배우지 않았지만) 변수의 타입을 알려주는 함수(built-in function)도 있습니다. type()이라는 함수인데, 괄호안에 변수를 넣어주면 그 변수가 어떤 타입인지 알려줍니다.
a = 1
type(a)
# int
b = -0.2
type(b)
# float
c = 2j
type(c)
# complex
변수에 숫자를 명시적인 타입으로 할당도 가능합니다. 바로 int(), float(), complex() 함수를 사용하면 가능하죠.
a = int(1) # a = 1 과 같습니다.
type(a)
# int
b = float(2.2) # b = 2.2 와 같습니다.
type(b)
# float
c = complex(10j)# c = 10j 와 같습니다.
type(c)
# complex
숫자의 타입 변환
위의 예제에서 int(), float(), complex() 함수를 통해서 명시적으로 숫자의 타입을 정의했습니다. 이 함 수를 이용하면 숫자의 타입을 바꿀 수 있습니다. 아래 예제에서 확인해 볼께요.
a = 1.2
type(a)
# float
print(a)
# 1.2
b = int(a)
type(b)
# int
print(b)
# 1
c = 3
type(c)
# int
print(c)
# 3
d = float(c)
type(d)
# float
print(d)
# 3.0
오늘 강의는 여기서 마치도록 하겠습니다.
궁금하거나 질문할 사항이 있다면, 또는 설명이 미흡하거나 틀린점이 있다면, 주저하지 마시고 댓글로 알려주세요.
'파이썬 > [누구나! 완전 기초 파이썬]' 카테고리의 다른 글
#6 조건문 (if ~ else ~) (0) | 2020.09.23 |
---|---|
#5 리스트(Lists) (0) | 2020.09.21 |
#4 문자열(Strings) (0) | 2020.09.19 |
#2 변수(Variables) (0) | 2020.09.17 |
#1 개발환경 설정 (0) | 2020.09.16 |
댓글