Welcome to the Matrix

005. 파이썬 숫자 자료형 본문

Python/PythonBasic

005. 파이썬 숫자 자료형

haru.keiko 2020. 12. 21. 20:37

파이썬 숫자 자료형을 대표하는 썸네일 이미지

이번에는 '파이썬'의 기본 자료형 중 '숫자 자료형'에 대해서 알아보겠습니다. 

 

숫자 자료형

파이썬의 '숫자 자료형'은 우리가 알고 있는 수학에서의 수에 대한 자료형과 크게 다르지 않습니다. 

수학에서의 '수(숫자 자료형)'는 크게 자연수, 정수, 유리수, 무리수, 실수 그리고 복소수와 같은 수체계를 가지고 있습니다. 프로그래밍 언어, 그리고 파이썬에서는 이 복잡한 수체계를 좀 더 단순하게 구성합니다.

 

프로그램의 세계는 현실 세계를 좀 더 단순하게 표현합니다. 
컴퓨터라는 녀석이 그리 똑똑하지 못해서 복잡한 고민거리를 던져주면 어찌할 바를 모르거든요.. 
단순한 계산을 빠르게 할 뿐이죠..

 

대부분의 프로그래밍 언어와 마찬가지로 파이썬의 경우 숫자 자료형은 '정수형'과 '실수형'으로 구분합니다. 

 

물론, 파이썬은 수학의 모든 수체계를 다룰 수 있습니다.

정수형의 경우 수학의 자연수와 정수를 포함하고, 실수형의 경우 유리수와 무리수를 포함하니다.

또, 복소수의 경우에는 파이썬이 제공하는 '복소수(complex)'라고 하는 클래스를 통해 제공합니다. 

 

파이썬의 복소수에 대해서는 다음에 기회가 되면 다루기로 하고요, 이번 시간에는 숫자 자료형의 기본 자료형인 정수와 실수 자료형에 대해서 알아보겠습니다. 

 

정수 자료형

파이썬의 정수 자료형(integer)은 수학의 자연수와 정수를 포함하는 수체계를 다루는 자료형입니다. 우리가 알고 있는 0, 100 그리고 -200 등과 같은 숫자가 정수 자료형입니다. 

 

정수 자료형은 일반적으로 생각하는 수학 연산과 동일하게 사용할 수 있습니다. 즉, 수학의 정수 연산에 사용되는 사칙연산과 같은 것이 파이썬에서도 동일하게 적용된다는 말입니다. 

 

실수 자료형

파이썬의 실수 자료형(floating point)은 수학의 유리수와 무리수를 포함하는 수체계인 '실수'를 다루는 자료형입니다. 

우리가 알고 있는 0.0, 100.0 그리고 -0.001 등과 같은 숫자가 실수 자료형입니다. 

 

프로그래밍 언어에서 실수 자료형은 '부동 소수점'이라고 합니다. 여기서 '부동'이라는 것은 '움직이지 않는다'는 의미가 아니고 '구름처럼 둥둥 떠서 이동한다'는 의미입니다.

소수점은 둥둥 떠서 이리 저리 움직일 수 있기 때문에, 동일한 수를 표현하더라도 소수점의 위치에 따라 그 표현(방식)이 달라 보일 수 있다는 것입니다. 

 

아래를 참고하시면 이해하기 쉬울 것 같습니다. 

\( 123.456 \) 과 \( 1.23456 \times 10^2 \) 는 보이는 모습은 다릅니다.
하지만 수학적으로 동일한 값을 표현하는 방법입니다.  

 

그리고 참고로 영(zero)을 표현할 때 0과 0.0은 프로그래밍 언어에서 다르게 구분합니다.

0의 경우 파이썬에서는 정수 자료형으로 인식하고, 0.0은 실수 자료형으로 인식합니다. 

 

숫자 자료형의 타입

파이썬은 숫자 자료형을 어떻게 표현하는지 알아보겠습니다. 

파이썬에서 'print()'라고 하는 것을 함수라고 합니다. 이는 괄호 안의 내용을 화면에 출력하는 기능을 가지고 있어요. 지금은 일단 print()라는 함수를 사용하면 화면에 원하는 내용을 출력할 수 있다고 알고 있으면 됩니다. 

함수에 대해서는 다음번에 자세히 다루게 됩니다. 

 

파이썬 IDLE을 실행한 후, 프롬프트(>>>)에 다음과 같이 입력합니다. 

# 대화식 인터프리터에서는 안 줄에 한 문장만 입력 가능
print(123)	# 를 입력하고 엔터키를 입력해 결과를 확인
print(123,0)	# 를 입력하고 엔터키를 입력해 결과를 확인

다음과 같은 결과를 확인할 수 있습니다. 

print 함수를 이용해 정수형, 그리고 실수형 숫자 자료를 출력

 

파이썬에서 숫자를 입력하면, 정말 숫자로 인식합니다. 정수를 입력하면 정수 자료형으로, 실수를 입력하면 실수 자료형으로 인식을 하는 것이죠. 

 

정수 자료형인지, 실수 자료형인지 확인을 어떻게 하냐고요??

이를 확인할 수 있는 방법이 있습니다. 

바로 'type()'이라는 함수가 있는데요, type() 함수의 괄호 안에 자료형을 알고 싶은 데이터를 넣으면, 해당 데이터의 자료형을 알려주는 함수입니다. 

 

다음과 같이 확인해 보아요~!!

어때요?

type 함수를 이용해 정수형, 그리고 실수형 숫자의 자료형을 확인

 

123이란 녀석은 'int'로, 123.0이란 녀석은 'float'로 인식을 하죠. 

'int'는 정수 자료형을 의미하는 'integer'의 줄임말이고요, 'float'는 실수 자료형을 의미하는 'floating point'의 줄임말입니다. 

파이썬에서는 위에서 본 것처럼, 정수 숫자를 사용하면 정수로 인식하고 실수를 사용하면 실수로 인식을 해서 사용할 수 있습니다.

 

그럼 좀 전에 언급했던 0과 0.0이 어떻게 다른지 한번 살펴볼까요?

type 함수를 이용해 정수형, 그리고 실수형 숫자의 자료형 그리고, 0과 0.0의 자료형을 확인

 

결과를 보면, 0은 int로 정수 자료형이고, 0.0은 float로 실수 자료형인 것을 알 수 있습니다. 

 

그런데, 왜 파이썬에선 0과 0.0이 다른 걸까요?

컴퓨터는 그리 똑똑하지 못한 녀석입니다. 아니, 생각보다 멍청합니다.

우리는 0과 0.0이 같다고 직관적으로 알 수 있는데 컴퓨터는 알지 못하지요. 그래서 명확히 알려줘야 계산을 할 수 있습니다. 계산할 데이터(내용)를 정확히만 알려주면 컴퓨터는 계산하나는 무지 빠르게 하거든요~

 

사실 컴퓨터는 0과 0.0만 다르다고 구분하는 것이 아니고, 1과 1.0, 123과 123.0 등도 모두 다르다고 구분합니다. 이것은 컴퓨터가 숫자(데이터)를 다루는 방법에 그 비밀이 있는데요, 아주 중요한 개념이지만 지금은 꽤 난해한 이야기가 될 수 있으니 다음 기회에 다른 포스트로 알아보도록 해요. 

type 함수를 통해 정수형과 실수형 자료형의 차이를 알아보는 예제, 1과 1.0 그리고 123과 123.0은 서로 다른 자료형으로 처리됨

 

지금은 "숫자 자료형엔 '정수 자료형'과 '실수 자료형'이 있고, 파이썬은 이를 다르게 처리한다."라는 개념만 알고 있으면 문제없습니다. 

숫자 자료형엔 '정수 자료형'과 '실수 자료형'이 있고, 파이썬은 이를 다르게 처리한다.

 

다음에는 숫자 자료형으로 무엇을 할 수 있는지 알아보겠습니다~!!