2. 기본 자료형과 연산 > 2-3. 숫자 자료형
숫자 자료형
해당 파트는 아래 영상 시청 후 교안을 정독해주세요.
숫자형(Numeric)이란 숫자 형태로 이루어진 자료형으로, 10과 같은 정수, 10.5와 같은 실수 그리고 기초 과정에서는 드물게 사용하는 2진수, 8진수 등이 있다. 파이썬의 수 표현 범위는 기본적으로 무한대입니다. (매우 큰 숫자는 계산이 몹시 느릴 수 있음) 숫자형 중에서 가장 많이 사용하는 정수, 실수에 대해서 간단하게 정리하며 아래 표와 같습니다.
정수 | 실수 | |
---|---|---|
개념 | 소수점 이하가 없는 수 | 소수점 이하를 갖는 수 |
표기 | int | float |
예시 | 10, -10 | 3.14, -3.14 |
변환 | int( ) | float( ) |
숫자 자료형 변환에 대해서 조금 더 자세히 알아보겠습니다. 데이터의 자료형은 필요에 따라서 적절한 형태, 즉 type을 바꿔줘야 합니다. 자료형을 바꾸는 방법은 여러가지 있지만, 가장 간단하게 바꿀 수 있는 방법은 바꾸고자 하는 자료형을 쓰고 괄호 안에 바꾸고 싶은 데이터를 쓰는 방법입니다. 아래 예시 코드를 출력해보고 자료형이 어떻게 변화했는지 확인해보세요.
# 314 정수 -> 실수
float(314)
# 3.14 실수 -> 정수
int(3.14)
실수를 정수로 만드는 방법은 반올림, 올림, 내림 등 보다 다양합니다. 우선 예시를 보도록 하겠습니다.
# 반올림 (결과: 3)
round(3.14)
from math import *
# 올림 (결과: 4)
ceil(3.14)
# 내림 (결과: 3)
floor(3.14)
이때 ceil
, floor
는 round
와 달리 함수를 사용하기 앞서 from math import *
라는 모듈을 실행시켜 주었습니다. 왜 어떤 함수는 그냥 사용하고 어떤 함수는 모듈을 실행시켜줘야 사용할 수 있을까요?
이 차이를 알기 위해서는 우선 모듈에 대한 이해가 필요합니다. 모듈이란 특정 기능들(함수, 변수, 클래스 등)이 구현되어 있는 파이썬 파일을 의미합니다. 1장 파이썬 기본 개념에서 잠깐 언급했듯, 파이썬에는 이미 만들어진 편리한 모듈과 라이브러리가 많습니다. 처음부터 모든 모듈을 다 실행시켜 놓으면 프로그램이 복잡해지고 느려지기 때문에, 필요한 모듈만 상황에 맞게 실행하여 사용하는 것입니다.
앞선 예시를 다시 살펴보면, ceil
, floor
는 round
와 달리 파이썬 기본 내장 함수가 아니기 때문에 모듈을 먼저 실행해야 하는 것이죠!
추가로, 모듈을 임포트 하는 방법에 대해서도 간단히 살펴보겠습니다. 아래 코드는math
모듈을 임포트하는 세 가지 방법에 대한 예시입니다.
import math
(혹은 import math as 원하는 단어
)'math'라는 모듈 안에는 이전에 확인했던 ceil, floor등과 같이 다양한 부품들이 있다. 이 부품들을 사용할 때는 math.ceil 와 같이 앞에 math.
을 붙여서 사용해야 합니다. 만약 모듈의 이름이 길 경우에는 import math as m
과 같이 모듈 이름을 임의로 바꿔서 적용할 수도 있습니다. (ex: m.ceil(3.14))
from math import ceil, floor
모듈에도 많은 부품들이 있기 때문에 사용하고자 하는 부품들만 임포트 하는 방법입니다. 이때는 모듈이름을 붙여서 사용하지 않아도 되고 부품을 바로 사용하면 됩니다. (ex: ceil(3.14))
from math import *
*
은 전체 부품을 의미합니다. 2번 방법과 동일하게 ceil(3.14)
로 사용합니다.
숫자형의 연산은 계산기와 동일한 작업이라고 생각하면 됩니다. 앞서 배운 연산자들 활용하여 아래 예제 문제들을 코드로 작성해보세요.
2000을 30으로 나눈 나머지를 8로 나눈 몫을 구하세요.
오늘은 목요일 입니다. 79일 뒤는 몇 요일 일까요?
500원짜리 사탕 7개, 3개에 5000원인 과자 2개, 1+1인 1000원짜리 아이스림 2개를 사면 총 얼마를 지불해야 할까요?