..

Search

7) 숫자형 타입

숫자형 타입


변수의 타입

C언어나 자바와 같은 프로그래밍 언어에서는 변수를 선언할 때 반드시 타입이라는 것을 같이 명시해야 합니다.

 

변수의 타입(type)이란 정수나 실수, 문자열 등과 같이 해당 변수에 저장된 데이터의 종류를 나타내며, 변수의 타입을 통해 해당 변수가 프로그램 내에서 어떻게 처리되어야 하는지를 알려주는 지표와 같은 역할을 합니다.

 

C언어 자바

int num = 256;

double num = 3.14;

 

하지만 파이썬에서는 변수를 선언할 때 별도로 타입을 명시하지 않아도 변수에 대입되는 데이터의 타입에 따라 변수의 타입을 자동으로 설정해 줍니다.

예제

var = 7

print(type(var))  

 

var = "문자열"

print(type(var))

실행 결과

<class 'int'>
<class 'str'>

 

위의 예제의 1번 라인에서 변수 var는 정수를 대입하여 선언했으므로, 변수 var의 타입도 정수로 선언됩니다.

하지만 4번 라인에서 정수형 변수 var에 문자열을 대입하게 되면, 변수 var의 타입도 문자열로 자동 변경됩니다.

 

type() 함수는 인수로 전달된 데이터나 변수의 타입을 반환하는 함수입니다.

데이터 타입

변수뿐만 아니라 프로그램에 사용되는 모든 데이터에도 타입이 존재합니다. 데이터 타입(data type, 자료형)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램 내에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 역할을 합니다.

 

예를 들어, 1, 2, 3.14와 같은 숫자들은 숫자형 타입이 되며, “안녕하세요!”와 같은 문자열은 문자열 타입이 되는 것입니다.

 

파이썬에서는 다음과 같은 기본 데이터 타입을 제공하고 있습니다.

 

1. 숫자형 타입(numeric types)

2. 불리언 타입(boolean types)

3. 문자열 타입(text sequence types)

 

이외에도 리스트(list)와 튜플(tuple), 집합(set), 딕셔너리(dict) 등과 같은 타입 등이 존재하며, 이러한 복잡한 데이터 타입에 대해서는 데이터 구조 단원에서 더욱 자세히 살펴보도록 합시다.

 

⇒ 파이썬 데이터 구조 단원


숫자형 타입(numeric types) : int, float

숫자형 타입이란 1, 2, 3.14와 같이 숫자의 형태로 이루어진 데이터 타입을 의미합니다.

이중에서 1과 2와 같이 소수점이 없는 숫자형 데이터를 정수형(integer) 타입이라고 하며, 3.14와 같이 소수점을 가지고 있는 숫자형 데이터를 실수형(floating-point) 타입이라고 합니다.

예제

i = 10

j = 3.14

 

print(type(i))

print(type(j))

실행 결과

<class 'int'>
<class 'float'>

 

위의 예제에서 변수 i에는 정수 10이 저장되므로 정수형 타입으로 선언됩니다. 따라서 type() 함수에 인수로 변수 i를 전달하면 int 클래스가 반환됩니다.

또한, 변수 j는 실수 3.14가 저장되어 실수형 타입으로 선언되므로, type() 함수가 float 클래스를 반환하게 됩니다. 이처럼 파이썬에서는 각각의 데이터 타입이 하나의 클래스(class)로 작성되어 제공됩니다.

 

클래스(class)란 객체 지향 프로그래밍에서 객체(object)를 만들어 내기 위한 일종의 설계도라 할 수 있으며, 객체(object)란 실생활에서 우리가 인식할 수 있는 사물로 설명할 수 있습니다.

 

클래스와 관련된 자세한 사항은 파이썬 클래스 단원에서 확인할 수 있습니다.

⇒ 파이썬 클래스 단원


산술 연산자(arithmetic operator)

숫자형 데이터끼리는 더하기(+), 빼기(-), 곱하기(*), 나누기(/)와 같은 산술 연산자를 사용하여 사칙연산을 수행할 수 있습니다.

 

파이썬에서 정수형 데이터끼리의 나눗셈을 제외한 사칙 연산은 언제나 정수형 데이터를 결과로 반환하며, 실수형 데이터끼리의 사칙 연산은 언제나 실수형 데이터를 결과로 반환합니다. 단, 정수형 데이터끼리의 나눗셈의 결과는 정수형이 아닌 실수형으로 반환됨으로 이 점 주의해야 합니다.

마지막으로 실수형 데이터와 정수형 데이터 사이의 사칙 연산은 언제나 실수형 데이터를 결과로 반환합니다.

예제

i = 4

j = 2  

 

print(i + j)

print(i - j)

print(i * j)

print(i / j)  

코딩연습 ▶

실행 결과

6
2
8
2.0

 

위 예제의 7번 라인에서 정수 4를 정수 2로 나눈 결과가 정수 2가 아닌 실수 2.0으로 반환되는 것을 확인할 수 있습니다.

 

이때 나눗셈의 몫을 실수가 아닌 정수로 얻고 싶다면 나눗셈(/) 연산자가 아닌 몫(//) 연산자를 사용해야 합니다. 또한, 나눗셈의 나머지를 얻고 싶을 때에는 나머지(%) 연산자를 사용하면 됩니다.

예제

i = 4

j = 2  

 

print(i / j)

print(i // j)

print(i % j)  

코딩연습 ▶

실행 결과

2.0
2
0


연습문제