본문 바로가기
파이썬/기초 문법

[파이썬]숫자 자료형 정리 - int, float, 사칙연산

by 코키드 Cokid 2022. 9. 22.
반응형

숫자 자료형이란 숫자 형태로 이루어진 자료형이다.

이번 글에서는 흔히 사용되는 정수와 소수점이 있는 실수 자료형과 숫자형의 사칙연산에 대해 알아볼 것이다.

드물게 2진수, 8진수, 16진수도 있지만 이 글에서는 다루지 않겠다.

 

숫자형 종류와 주의사항

1. 정수형(Integer)

정수형은 정수로 되어있는 자료형을 말한다. 양의 정수, 음의 정수, 0 모두 같은 Integer 타입에 속하며 'int'로 표시된다.

변수 선언은 변수명 = 값, 혹은 변수명 = int(값) 이렇게 하면 된다.

>>> a = 100
>>> b = int(-90)
>>> c = 0
>>> type(a), type(b), type(C)
(<class 'int'>, <class 'int'>, <class 'int'>)

파이썬의 내장 함수 type을 이용하여 각 변수들의 자료형을 보면 모두 'int'로 나오는 것을 확인할 수 있다.

 

2. 실수형(Floating-pint)

실수형은 소수점이 포함된 숫자 자료형이며 'float'으로 표기된다.

실수형 변수 선언 시 정수 자리가 0으로 시작한다면 0을 생략하고 소수점부터 입력할 수 있다.

>>> a = 21.98
>>> b = -.089
>>> c = 1.92e6
>>> d = 4.55E-3
>>> type(a), type(b), type(c), type(d)
(<class 'float'>, <class 'float'>, <class 'float'>, <class 'float'>)

여기서 c, d의 변수 선언이 특이한 것을 발견할 수 있다. 엑셀을 사용해본 사람들에게는 익숙할 수도 있는데, 컴퓨터식 지수 표현 방식이다.

1.92e6은 1.92 x 10^6을 의미하고, 4.55E-3은 4.55 x 10^-3을 의미한다. 대소문자 상관없이 알파벳 E를 사용하면 된다.

여러 방법으로 변수 선언을 했지만 네 변수의 자료형이 모두 'float'임을 알 수 있다.

 

3. 주의사항

정수형과 정수형의 사칙연산의 결과 데이터 타입이 바뀔 수 있다. 코드를 확인해보자.

>>> a = 100
>>> b = 10
>>> c = a/b
>>> type(a), type(b), type(c)
(<class 'int'>, <class 'int'>, <class 'float'>)

a = 100, b = 10, c = a/b = 10이다. a와 b는 int. 하지만 c의 자료형을 보면 int가 아닌 float이다. 

정수형 끼리 연산을 통해 얻은 결과가 정수형이라도 나눗셈을 하면 float이 된다.

코드가 길어지게 되면 이런 자료형 때문에 문제가 발생할 수 있으니 일단 알아두자.

 

정수를 선언하더라도 뒤에 소수점이 붙으면 float으로 인식된다.

>>> a = 0
>>> a, b = 0, 0.0
>>> print(a, b, type(a), type(b))
0 0.0 <class 'int'> <class 'float'>

a에는 0, b에는 0.0을 입력했다. 수학적으로 둘은 같은 값이지만 파이썬에서는 그렇지 않다.

타이핑된 형태에 따라 자료형이 결정된다.

 

숫자형에 사용되는 연산자

사칙연산(+, -, *, /)

사칙연산은 컴퓨터로 계산을 해본 경험이 있다면 모두 사용할 수 있을 것 같다.

>>> a = 10
>>> b = 2
>>> a + b
12
>>> a - b
8
>>> a * b
20
>>> a / b
5.0

 

제곱 연산자(**)

컴퓨터에서 제곱 연산을 할 때 ^2 이런 형태를 많이 봤을 것이다.

파이썬에서는 별표 두 개를 사용한다.

2 ** 3 = 2 * 2 * 2가 된다

>>> a = 2
>>> b = 3
>>> a ** b
8 # 2의 세제곱

 

나눗셈 후 나머지를 반환하는 연산자(%)

% 연산자는 나눗셈의 나머지를 반환한다. 5를 3으로 나누면 2가 남고, 10을 3으로 나누면 1이 남는다.

이걸 % 연산자로 계산해보자.

>>> 5%3
2
>>> 10%3
1

 

나눗셈 후 몫을 반환하는 연산자(//)

% 연산자와 반대로 // 연산자는 나눗셈의 몫을 반환한다.

앞서 활용한 예시를 반대로 적용해보자.

5/3의 몫은 1이고, 10/3의 몫은 3이다. // 연산자로 계산해보자.

>>> 5//3
1
>>> 10//3
3

% 연산자와 반대로 // 연산자는 몫을 반환하는 것을 확인할 수 있다.

 

 

 

2022.09.21 - [파이썬/기초 문법] - [Python]파이썬 변수 이해하기

 

[Python]파이썬 변수 이해하기

학창 시절 수학 시간에 함수(Function)를 배우면서 변수(Variable)를 많이 다뤄봤을 것이다. 변수는 '변하는 수'를 의미하며 변수에 따라서 함수의 결괏값도 함께 바뀌게 된다. 파이썬에서도 다양한

codekid.tistory.com

 

반응형

댓글