제2절 자료형 [스칼라 데이터 타입]

한지훈·2022년 10월 17일

글로 읽는 파이썬

목록 보기
3/4

제2절 기본적인 자료형

아래에서는 기본적인 자료형에 대해서 학습해보도록 한다. 자료형은 대개 두 가지 형태로 나눌 수 있다. 하나의 값만을 저장할 수 있는 자료형을 스칼라(Scalar) 데이터 타입이라고 하며, 두 개 이상의 복합적인 값을 저장할 수 있는 자료형을 컴포지트(Composite) 데이터 타입이라고 한다.

스칼라(Scalar) 데이터 타입

숫자형(Number)

숫자형(Number)은 이름에서 알 수 있듯이 숫자인 형태로 만들어진 자료형이다. 이러한 숫자형 자료형은 흔히 정수(Integer)와 같은 형태만 존재한다고 알 수 있으나 이러한 숫자형에도 다양한 세부 형태가 존재한다.

정수형(Integer)

정수형은 정수인 숫자 형태를 가지는 자료형이다. 이러한 정수형에는 양의 정수와 음의 정수, 그리고 0을 포함한다. 아래에서는 파이썬 코드 상에서 정수형의 자료의 자료형을 확인하는 과정이다.

type()함수는 파이썬에서 변수의 자료형을 반환하는 함수이다. 아직 함수에 대해서 자세히 살펴보지는 않았지만, 입력 값에 대해서 정의된 기능을 수행하여 그 수행 결과 값을 반환하는 형태라고 이해 한 채 아래 코드를 살펴보도록하자.

>>> var = 1
>>> type(var)
<class 'int'>
>>> var = 0
>>> type(var)
<class 'int'>
>>> var = -1
>>> type(var)
<class 'int'>

정수형 변수의 자료형은 예상하였듯이 int(integer)로 나타난다. 물론 혹자는 int를 감싸고 있는 class라는 단어에 집중할 수 있을 것이다. 우리는 일전에 class를 하나의 개념으로 받아들인다고 언급했었다. 즉, 컴퓨터가 이해할 수 있는 정수라는 개념을 사전에 정의하여 두었고, 해당하는 그 정수라는 클래스를 반환하였다고 보는 것이 합당할 것이다.

실수형(Float)

파이썬에서 실수형(Floating Point)의 경우 소수점이 포함된 숫자를 의미하게 된다. 우리는 일전에 실수형이 어떻게 표현되는 지에 대해 언급한 적 있다.

우리는 초등학교 등의 저학년 과정에서 소수점이 있는 계산을 할 때 소수점이 없는 형태로 먼저 계산을 한 뒤 자릿수에 따라서 소수점을 맞게 다시 찍는 과정을 통하여 연산을 진행하였다. 컴퓨터가 실수를 표현할 때는 이처럼 소수점을 고정하지 않고 그 위치를 나타내는 수를 별도로 표기하여 저장하는 부동소수점(浮動小數點, floating point) 방식으로 실수를 표현하게 된다. 여기서 부동은 고정되지 않고 물에 둥둥 떠서 부유(浮遊)하며 움직(動)이는 모습을 나타내는 단어이다.

아래의 코드를 통하여 실수형에 대해서 더 학습해보도록 하자.

>>> var = 3.14
>>> type(var)
<class 'float'>

실수형 변수의 자료형은 예상하였듯이 float로 나타난다. 그렇다면 3.0이라는 수의 자료형은 어떻게 될까. 결과를 확인해보도록 하자.

>>> var = 3.0
>>> type(var)
<class 'float'>

언뜻보기에 정수라고 생각할 수 있지만 수에 소수점이 포함된다면 그 수의 자료형은 실수형이 된다.

더 읽어보기

아주 작거나 아주 큰 실수의 경우에는 어떻게 표현되는 지에 대해서 확인해보자.

>>> var = 0.0000000314
>>> var
3.14e-08

일반적으로 우리가 보는 실수와는 다른 모습의 결과 값이 나왔다. 이공계학을 공부하는 이들에게 이러한 표현방식은 친숙할 수 있다. 파이썬의 이러한 표기법을 지수 표기법(Exponential Notation)이라고 표현한다.

언급하였던 부동소수점의 방식에서는 소수점이 포함된 실수를 정수로된 유효숫자
(Significant figures)와 정수로된 지수(Exponential)의 곱으로 나타낸다. 예를 들어
3.1415라는 숫자는 3.1415e+0으로, 0.0000031415의 경우에는 3.1415e-06라는 수
로 나타낼 수 있다.

None(NoneType)

만약 아무것도 없다는 것을 표현하기 위해서는 어떻게 해야할까. 파이썬에서 None은 아무런 값이 없다는 것을 나타낸다. 출력에서는 아무런 값이 나타나지 않게 된다.

>>> var = None
>>> type(var)
<class 'NoneType'>

None의 자료형을 알아보기 위해 Type 함수를 이용한 결과 NoneType이 출력되는 것을 확인할 수 있다. 이러한 None은 이후에 조건에 따라 행위를 결정하는 조건문 등에서 아무것도 없음 혹은 비어 있음을 표현하는데 유용하게 사용될 수 있으며, 함수의 결과값이 존재하지 않음을 나타낼 때에도 사용되게 된다.

논리형(Boolean)

논리형은 참과 거짓의 논리를 구분할 수 있도록 만들어진 자료형이며, TrueFalse로 이루어진다. 각각은 참과 거짓이라는 의미를 가진다. 아래 예시를 통하여 확인하여 보도록 하자.

>>> a = True
>>> type(a)
<class 'bool'>
>>> b = False
>>> type(b)
<class 'bool'>

이러한 논리형은 조건문에서의 조건을 구성할 때나 그 결과값으로 사용되기도 한다. 아래의 코드를 확인하여 보자.

>>> 1 > 2
False
>>> 2 == 2
True
>>> a = 1
>>> b = 2
>>> a == b
False

위와 같이 서로 다른 수 또는 변수를 비교할 때 참과 거짓의 결과를 논리형의 값으로 반환하고 있음을 확인할 수 있다. 여기서 참고할 점은 같다라는 의미를 표현할 때 대부분 =을 떠올리지만, 파이썬 및 다른 프로그래밍 언어에서는 대부분 ==을 사용한다는 점이다.

0개의 댓글