반응형

앞서 변수나 자료형을 설명할 때 이미 숫자형 자료형으로 예시를 들었기 때문에 익숙하리라 믿고 있습니다.

그럼에도 불구하고 처음 만난다는 생각으로 숫자형 자료형에 대해 공부를 해봅시다.

숫자형 자료형

숫자(Number)형태로 이루어진 자료형으로 종류로 정수, 실수, 8진수, 16진수, 복소수가 있습니다.

이러한 자료형들은 앞서 말씀드린대로 영어의 단어와 같기 때문에 뜻을 알고, 익히는(암기) 수밖에 없다고 생각합니다.

어떻게 사용하는지 알아봅시다.

정수

a = 123
b = -123
c = 0

정수에는 양의 정수, 음의 정수, 그리고 0이 있죠? 갑자기 수학 공부가 된 것 같습니다만, 아시다시피 컴퓨터라는 것이 수의 계산을 위한 것이고 프로그래밍이란 것은 컴퓨터를 동작시키기 위한 알고리즘 표현이기 때문에 수학에 대한 공부도 같이 하면 좋죠... 하지만 선형 대수학이나 뭐 해석학 이정도의 수준까지 필요한 것은 아닙니다. 물론 이런 수학적 지식이 필요한 프로그래밍 분야는 딥러닝과 같은 분야가 있긴 합니다만 각설하겠습니다.

실수

a = 123.0
b = -123.0
c = 0.0

실수도 정수와 마찬가지입니다. 정수와의 차이점은 소숫점(floating point)이 존재한다는 점입니다. 추가적으로 지수 표현 방식도 있습니다.

d = 2.2e10
e = 2.2E-10

e와 E 모두 같은 의미이며 각각 d = 2.2 * 10 10 , e = 2.2 * -10 10 입니다.

8진수

b = 0o111
print(b)
print(type(b))

output

73
<type 'int'>

8진수는 0o(영어 소문자 o)로 표현 가능합니다. 결괏값은 정수형으로 나오는 것을 확인할 수 있습니다.

16진수

b = 0x111
print(b)
print(type(b))

output

273
<type 'int'>

8진수와 차이는 없습니다. 다만 앞에 입력해야하는 것이 0x인 것이 차이점입니다.

복소수

복소수는 실수와 허수로 이루어진 수입니다. 허수를 어떻게 프로그래밍으로 표현이 가능했을까요?

a = 1 + 2.2j
print(a)
print(type(a))

output

(1+2.2j)
<type 'complex'>

허수의 부분에 j를 붙이는 것으로 허수를 표현할 수 있게 되는데요, j 가 붙여지게 되면 그 변수의 자료형은 complex가 됩니다. complex 자료형(class)은 real과 imag 변수가 들어있고 위 예제의 1은 real, 2.2는 imag에 입력되게 됩니다.

한 번 볼까요?

print(b.real)
print(b.imag)

output

1.0
2.2

이 모든 부분을 제대로 설명하려면 클래스와 함수(메소드) 기반의 설명이 필요한데, 이 부분은 추후 배워보도록 합시다.

이번 포스트에서는 숫자형 자료형에 대해 배워보았는데요. 사실 실제 업무를 할 때 자주 사용되는 숫자 자료형은 int와 float 정도라고 생각하시면 되겠습니다. 그래도 나머지도 알아두면 좋겠죠?

반응형

+ Recent posts