Skip to content

자료형 #
Find similar titles

이진수에 대해서 알고 계시지요? 아마 중학교 때 배웠던 것 같네요. 아직 배우지 않은 분은 그런 것이 있다는 것만 알고 계시구요. 컴퓨터에서는 이진수가 중요합니다. 왜냐하면 컴퓨터 내부에서는 모든 정보를 이진수로 처리하기 때문이죠. 예를 들어서 65라는 숫자를 컴퓨터 내부에서는 이진수 01000001로 처리합니다. 우리가 65 + 30 이라고 명령을 내리면 컴퓨터는 그것들을 모두 이진수로 바꿔서 계산을 한 다음에 그 결과를 다시 우리가 쓰는 십진수로 바꿔주는 거죠. 컴퓨터는 숫자 뿐만 아니라 문자라든지, 제 아무리 복잡한 정보도 모두 2진수로 처리한답니다.

컴퓨터에서 영어를 사용하기 위해서는 알파벳 한 자 한 자마다 숫자로 번호를 매겨서 처리를 하지요. 알파벳에 번호를 붙이는 규칙 중에서 널리 쓰이는 것으로 ASCII(아스키)라는 규약이 있습니다. 아스키에서는 알파벳 A를 숫자 65로 표현하는데요, 어차피 숫자 65는 다시 이진수로 바꿔서 처리하겠죠?

그렇다면 여기서 이상한 점이 생깁니다. 이진수 01000001이 있는데 컴퓨터는 이것이 숫자 65인지, 아니면 문자 A인지 어떻게 알 수 있을까요?

너무 어렵게 생각하실 건 없답니다.

숫자인지 문자인지 표시를 해주면 되는 거죠. 사람이 해주든지, 컴퓨터가 알아서 하든지 말입니다.

그렇게 표시를 해주는 것이 바로 자료형이라고 할 수 있습니다.

지금까지 우리가 자료형에 대해서 잘 몰라도 프로그램을 짤 수 있었던 것은 우리가 자료를 만들 때마다 파이썬에서 자동으로 자료형을 정해주었기 때문인데요, 다른 프로그래밍 언어에서는 프로그래머가 직접 정해주어야 하는 경우도 있습니다. 그리고 프로그래밍 언어마다 제공해주는 자료형에 차이가 있지요.

그렇다면 파이썬에는 어떤 자료형이 있는지 살펴볼까요? type 함수를 사용하면 자료형을 쉽게 알아 볼 수 있습니다.


```
>>> type('A')                    # 문자열  
     <type 'str'>          
>>> type(6)                      # 정수           
    <type 'int'>            
>>> type(2.8)                    # 소수           
    <type 'float'>           
>>> type(3+4j)                   # 복소수        
    <type 'complex'>              
>>> type([1, 2, 3, 4])           # 목록                   
    <type 'list'>            
```

네 번째는 복소수(complex)라는 자료형인데요, 고등학교 가면 배우지요. 프로그래밍 언어에 복소수라는 자료형이 있는 것은 파이썬에서 처음 보았습니다.

자료형에는 크게 나눠서 수치형(numbers), 순서형(sequence), 매핑형(mapping)이 있습니다. 수치형에는 다시 정수(int), 더 큰 정수(long int), 소수(float)가 있지요.

int 형은 32 비트로 -2147483648 에서 2147483647 까지의 숫자를 표현 할 수 있다고 합니다. 비트라는 것은 이진수의 자릿수 하나라고 대충 생각하고 넘어 가십시당… 오늘은 복잡한 게 왜 이리 많징…ㅜㅜ int 형이 32 비트라는 건 다른 프로그래밍 언어에 비해서 훨씬 큰 범위입니다. C의 long 형과 같다고 하네요. 정확한 범위는 아직까지 신경 쓰실 필요가 없습니다.

long int형은 표현 범위가 무제한이라고 합니다. 믿거나 말거나…^^ 3L과 같이 숫자 뒤에 L을 붙이면 됩니다.

float는 원래 부동소수점수를 가리키는데, 지금은 단순히 소수점 이하를 표현할 수 있는 수라고 생각하셔도 좋습니다.

Incoming Links #

Related Articles #

Suggested Pages #

0.0.1_20140628_0