본문 바로가기

Programming Language/Python

Ⅱ. 자료형 (1. 숫자형)

  • 자료형(Data Type) = 데이터의 종류.

 

 

# Immutable = 변경불가 / Mutable = 변경가능  

⇒ Immutable한 자료형은 처음 선언되면 요소를 수정할 수 없으나 Mutable한 자료형은 선언된 후 일부 요소를 수정할 수 있습니다.                                                                       

# Direct = 직접 할당 / Sequence = 순서 중시 / Mapping = 순서 무관 / Set = 중복 불가

 

 

 

자료 형태 함수

함수 내용
이름 type
설명 ()안 데이터의 자료형태를 출력해.
형태 type(a)
인자 a = 데이터
반환 return 클래스
a=5
print(type(a))

<class 'int'>

 

 

 

숫자형 자료형

  • 숫자형(Number Data) = 숫자 형태로 이루어진 자료형.

숫자형 데이터는 우리가 흔히 사용하는 자료형으로 정수형붙어 실수형, 복소수형 등 다양한 세부 종류가 있습니다. 전체를 하나의 표로 나타내면 다음과 같습니다.

 

 

  • 정수형(10진법) : 10진법 정수형 데이터는 평소 우리가 사용하는 자료형입니다. 음의 정수, 0, 양의 정수가 있습니다.

참고로 10진수는 0,1,2,3,4,5,6,7,8,9 총 10개의 숫자로 모든 숫자를 표현하는 방식입니다. 그래서 10개 단위로 다음 자릿수를 증가시킵니다.  # 0,1,2,3,4,5,6,7,8,9     10,11,12,13,14,15,16,17,18,19     20,21,22,23,24,25,26,27,28,29     .......

 

  • 정수형(2진법) : 컴퓨터 과학(CS)에서 자주 사용하는 정수형 데이터입니다. 숫자0에 알파벳b를 더한 0b를 먼저쓰고 뒤에 2진수를 사용하면 컴퓨터는 2진법 정수형 자료형으로 인식하게 됩니다.

참고로 2진수는 0,1 총 2개의 숫자로 모든 숫자를 표현하는 방식입니다. 그래서 2개 단위로 다음 자릿수를 증가시킵니다.  # 0,1     10,11     100,101     110,111     1000,1001     1010,1011     1100,1101     ......

 

  • 정수형(8진법) : 숫자0에 알파벳o 또는 O를 더한 0O를 먼저쓰고 뒤에 8진수를 사용하면 컴퓨터는 8진법 정수형 자료형으로 인식하게 됩니다.

참고로 8진수는 0,1,2,3,4,5,6,7 총 8개의 숫자로 모든 숫자를 표현하는 방식입니다. 그래서 8개 단위로 다음 자릿수를 증가시킵니다.  # 0,1,2,3,4,5,6,7     10,11,12,13,14,15,16,17     20,21,22,23,24,25,26,27     30,31,32,33,34,35,36,37     .....

 

  • 정수형(16진법) : 숫자0에 알파벳x를 더한 0x를 먼저쓰고 뒤에 16진수를 사용하면 컴퓨터는 16진법 정수형 자료형으로 인식하게 됩니다.

참고로 16진수는 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 총 16개의 숫자로 모든 숫자를 표현하는 방식입니다. 그래서 16개 단위로 다음 자릿수를 증가시킵니다.  # 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F     10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F     20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F     .....

 

  • 실수형(float-point) : 실수형 데이터는 소수점이 포함된 숫자 자료형입니다. 일반적으로 사용하는 소숫점 숫자로 표현해도 되고, 컴퓨터식 지수 표현 방식도 가능합니다.
  • 복소수형(Complex) : 복소수형 데이터는 허수가 포함된 숫자 자료형입니다. 허수 부분은 j를 사용하여 표현합니다. 실수부에 접근할 때는 .real로 허수부에 접근할 때는 .imag로 접근하게 됩니다. 

 

 

 

1-(1) 십진수 변환하기 

다음과 같은 파이썬 내장 함수를 사용하면 10진수를 2진수, 8진수, 16진수로 변환이 가능합니다.

 

함수
bin() () 안 10진수를 2진수로 변환해.
oct() () 안 10진수를 8진수로 변환해.
hex() () 안 10진수를 16진수로 변환해.
a=19
bin(a)
oct(a)
hex(a)

'0b10011'

'0o23'

'0x13'

 

0부터 15까지 10진수를 2진수, 8진수, 16진수로 바꾸면 다음과 같습니다.

 

 

 

 

 

1-(2) 숫자형 자료의 상위관계 

C언어의 경우 다양한 숫자 자료형이 있는데 자료형마다 가능한 범위가 존재합니다. 그래서 다양한 숫자 자료형은 간단한 상위관계로 정의하기 어렵습니다.

 

 

반면에 파이썬은 정수형, 실수형, 복소수형 자료형이 각각 무한대까지 확장할 수 있어 수학과 동일하게 상위관계를 가집니다.

 

 

숫자형의 상위관계는 서로 다른 숫자형 데이터끼리 연산을 할 때 중요합니다. 서로 다른 숫자형 데이터끼리 연산을 하면 항상 결과는 더 상위의 자료형으로 계산됩니다.

 

a = 3
b = 4.0
c = 5 + 0j
print(a+b)
print(a+c)
print(b+c)

7.0

(8+0j)

(9+0j)

 

 

정수형, 실수형 변환 함수 

 
함수 내용
이름 int
설명 ()안에 있는 데이터의 자료형태를 정수형으로 바꿔.
형태 int(a)
인자 a = 데이터
반환 return 정수
a=3.14
b=int(a)
print(type(a))
print(type(b))

<class 'float'>

<class 'int'>

 

함수 내용
이름 float
설명 ()안에 있는 데이터의 자료형태를 실수형으로 바꿔.
형태 float(a)
인자 a = 데이터
반환 return 실수
a=3
b=float(a)
print(type(a))
print(type(b))

<class 'int'>

<class 'float'>

 

 

 

 

 

*참고 : 점프 투 파이썬