숫자 자료형이란 숫자 형태로 이루어진 자료형이다.
이번 글에서는 흔히 사용되는 정수와 소수점이 있는 실수 자료형과 숫자형의 사칙연산에 대해 알아볼 것이다.
드물게 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
'파이썬 > 기초 문법' 카테고리의 다른 글
[파이썬]문자열 함수 - 값 찾기, 개수 세기, 합치기, 나누기 (1) | 2022.09.26 |
---|---|
[파이썬]문자열 포매팅 - 포맷 코드, format 함수, f 포매팅 (1) | 2022.09.25 |
[파이썬]문자열 자료형 - 인덱싱과 슬라이싱 (4) | 2022.09.24 |
[파이썬]문자열 만들기 및 이스케이프 코드 정리 (1) | 2022.09.23 |
[파이썬]Python 변수 이해하기 (0) | 2022.09.21 |
댓글