본문 바로가기

Language/Python

[Python] 숫자 자료형

우리는 나이, 연도, 학번, 원주율 등 다양한 숫자들을 다루는데요.

파이썬에서도 숫자를 다룰 수 있도록 숫자 자료형을 지원해줘요.

 

파이썬의 숫자 자료형에는 일반적으로 우리가 가장 많이 사용하는 정수형이 있고,

소숫점을 활용하기 위한 실수형이 있어요.

그리고 8진수, 16진수의 데이터를 표현하기 위한 자료형도 있어요.

 

그럼 파이썬에서는 어떻게 숫자 자료형을 사용할까요?

아래 코드를 보며 알아볼게요.

 

정수형(Integer; int)

 

정수는 음수, 0 , 양수로 이루어진 숫자인데요.

파이썬에서는 자료형 타입을 in로 알려줄거에요.

그렇다고 Integer라는 단어를 몰라도 되는 것은 아니니 꼭 알아두세요!

정수는 아래와 같이 a, b, c 변수에 저장할 수 있이요.

a = 10
b = -20
c = 0

 

실수형(Float)

 

실수는 음수, 0, 양수에 상관없이 소숫점을 사용하는 숫자인데요.

실수는 아래와 같이 a, b, c, pi 변수에 저장할 수 있어요.

a = 10.0
b = 0.0001
c = -20.001
pi = 3.14

 

8진수(Octal)와 16진수(Hexadecimal)

 

8진수는 데이터를 0부터 7까지의 숫자를 이용하여 표현하는 방법이에요.

이 8진수를 변수에 저장할 때는 숫자 0 뒤에 알파벳 소문자 o 또는 대문자 O를 붙여서 사용해요.

0o---, 0O--- 처럼 말이죠.

아래와 같이 a, b 변수에 어떻게 저장하는지 볼까요?

a = 0o127
b = 0O127

 

 

16진수는 0 ~ 9까지의 숫자와 알파벳 A(10을 의미) ~ F(16을 의미)까지의 문자를 이용해서

데이터를 표현하는 방법이에요.

16진수를 변수에 저장하기 위해서는 숫자 0 뒤에 알파벳 소문자 x를 붙여서 사용해요.

0x--- 처럼요.

아래와 같이 a 변수에 어떻게 저장하는지 알아볼게요.

a = 0x8AF

 

8진수, 16진수는 비트 단위의 연산을 위해 사용하는 경우가 있지만

파이썬에서는 많이 사용하지 않으니 작성 방법만 알아두도록 해요.

 

참고로 컴퓨터는 모든 데이터를 2진법으로 저장하고 있어요.

시간이 되면 2진법, 8진법, 16진법에 대해서도 다뤄볼게요.

 

숫자를 이용한 연산

 

숫자 자료형에 대해 이해했으니 이제 활용해봐야겠죠?

 

계산기가 숫자를 이용한 방법을 설명하기에 딱 좋으니까

사칙연산을 통해 숫자 자료형을 활용해볼게요.

# 정수형 변수를 작성(선언)하기
a = 10
b = 2

# 더하기
print(a + b)
>>> 12

# 빼기
print(a - b)
>>> 8 

# 곱하기
print(a * b)
>>> 20

# 나누기
print(a / b)
>>> 5

# 몫
print(a // b)
>>> 5

# 나머지
print(a % b)
>>> 0

# 제곱
print(a + b)
>>> 100

 

숫자 형태로 형변환

 

주로 문자열로 입력된 값을 숫자로 형변환하는 경우가 많아요.

가장 대표적인게 input() 함수죠.

기억하죠? input() 함수를 통해 입력된 값은 문자열로만 받는다고 했잖아요?

 

그런데 저는 입력된 값을 숫자로 사용하고 싶어요.

어떻게 해야할까요? 코드를 통해 배워봅시다!

# 입력된 값의 자료형 확인하기
price = input('가격을 입력해주세요 : ')
print(price)
print(type(price)
>>> (입력) 가격을 입력해주세요 : 10000
>>> (출력) 10000
>>> (출력) <class 'str'>

# type(...)을 통해 현재 변수가 무슨 자료형을 저장하고 있는지 확인할 수 있어요.

첫 번째 코드에서 보면 10000이라는 숫자를 입력했는데 자료형은 문자열(str)이네요.

 

그럼 처음부터 숫자로 받아볼까요?

# 가격을 정수형으로 받기
price = int(input('가격을 입력해주세요 : '))
print(price)
print(type(price)
>>> (입력) 가격을 입력해주세요 : 10000
>>> (출력) 10000
>>> (출력) <class 'int'>

# 가격을 실수형으로 받기
dollar = float(input('가격을 달러로 입력해주세요 : '))
print(dollar)
print(type(dollar)
>>> (입력) 가격을 입력해주세요 : 19.25
>>> (출력) 19.25
>>> (출력) <class 'float'>

 

이해하셨나요?

문자열을 정수형으로 형변환하기 위해서는 int(...)를 사용하고,

문자열을 실수형으로 형변환하기 위해서는 float(...)를 사용하고 있죠?

그리고 type(...) 함수를 통해 변환된 자료형을 확인할 수 있어요.

 

이렇게 필요할 때마다 형변환을 하여 사용하시면 되요.

아! 참고로 숫자 자료형끼리도 형변환이 가능해요.

# 정수형을 실수형으로 변환
int_dollar = float(price)
print(int_dollar)
>>> 10000.0

# 실수형을 정수형으로 변환
float_price = int(dollar)
print(float_price)
>>> 19

 

다만 실수형을 정수형으로 변환할 때는 주의해야되요.

소숫점이 사라지거든요.

 

참고로 java와 같은 언어에서는 실수형을 자료형으로 변환하지 못해요.

그 이유는 데이터의 범위때문인데 그 부분은 여기서 다루지는 않을거에요.

 

이런 점을 보면 파이썬이 참 유연하고 쉬운 언어라는 것을 느끼네요.

'Language > Python' 카테고리의 다른 글

[Python] 문자열 포매팅  (0) 2022.05.23
[Python] 문자열 연산  (0) 2022.05.23
[Python] 문자열 자료형  (0) 2022.05.23
[Python] 자료형과 변수(with. 타입체크와 형변환)  (0) 2022.05.23
[Python] 표준 입출력  (0) 2022.05.23