앞의 포스팅에서 말했듯 컴퓨터는 0 또는 1으로 이루어진 값만을 읽을 수 있습니다.
실제로 언어에서는 문자열, 숫자 모두를 사용하는데 어떻게 컴퓨터는 이를 읽을 수 있을까요?
먼저 문자열 같은 경우는 '아스키코드'를 이용합니다.
아스키 코드는 문자를 컴퓨터가 이해할 수 있는 신호로 바꿔주는 인코딩 방법입니다.
인코딩은 문자를 숫자로 표현해 주는 것 이라고 생각하시면 됩니다.
예를 들어 A라는 문자는 위의 표에 의해 10진수로 65이고 이진수로는 1000001이 됩니다.
'A를 아스키 코드에 의해 65로 바꾸면... 이 65는 숫자형인 65와 어떻게 다른거지?'라는 의문점이 생깁니다.
이를 구별할 수 있게 하는 것이 바로 자료형입니다. 컴퓨터에게 일종의 flag 역할을 하는것이죠!
기존의 다른 언어들은 보통 자료형을 먼저 선언해 주어야 했지만, 파이썬은 자료형을 자동으로 매핑해줍니다.
예를 들어서 65를 입력하면 정수, 6.5를 입력하면 실수, '65'를 입력하면 문자열로 자동 인식 합니다.
이번 포스팅에서는 가장 기본적인 자료형인 숫자, 문자 자료형에 대해서 다루겠습니다.
숫자형
숫자 자료형에는 정수, 실수, 복소수 이렇게 3가지가 있습니다.
정수형에는 int, long 두가지가 존재하며 이 두 표현의 차이점은 정수의 범위입니다.
기존 int는 32비트 까지 표현이 가능하고, long은 메모리가 허락한는 데까지 사용이 가능합니다. 하지만 python3에서는 long이 사라졌기 때문에 int가 long의 범위까지 확장되었습니다.
실수형은 float가 있습니다. float는 64비트까지 표현가능합니다.
복소수형으로는 complex가 있으며, 실수부, 허수부를 각각 64비트까지 표현할 수 있습니다.
코드 예시를 한번 보겠습니다.
print, type은 뒤에서 설명 드리겠지만, 각각 출력을 하고, 해당 데이터가 어떤 타입인지 알려주는 함수입니다.
print(type(29))
print(type(3.14))
print(type(3+2j))
위의 코드를 실행해보면 아래와 같은 결과를 얻을 수 있습니다.
<class 'int'>
<class 'float'>
<class 'complex'>
실행 코드에서 저는 그 어디에도 데이터 타입을 선언한 적이 없습니다. 하지만 파이썬에서 알아서 데이터 타입을 매핑해 주었기 때문에,
29는 int, 3.14는 float, 3+2j는 complex로 자동 할당 되었습니다.
문자형
문자를 표현하는 자료형은 문자열이라고 부르고, string으로 표현합니다.
주로 ''(작은 따옴표), ""(큰따옴표)로 감싸서 표현합니다.
만약 숫자 27을 "27"로 적는다면 이는 int가 아닌 string이 됩니다.
"그럼 문자열 안에 '나 "를 포함시켜야 할때는 어떻게 해야 하지?"라는 의문이 드실 수 있습니다.
이럴 경우에는 감싸는 문자를 서로 다르게 하거나 앞에 \를 적어주시면 됩니다.
1. 감싸는 문자를 서로 다르게 하는 경우
"삼냥매 집사는 '열심히 코딩을 해야 주인님들 맛있는 것을 사줄 수 있어요'라고 했다."
'삼냥매 집사는 "열심히 코딩을 해야 주인님들 맛있는 것을 사줄 수 있어요"라고 했다.'
2. \를 적어주는 경우
"삼냥매 집사는 \"열심히 코딩을 해야 주인님들 맛있는 것을 사줄 수 있어요\"라고 했다."
'삼냥매 집사는 \'열심히 코딩을 해야 주인님들 맛있는 것을 사줄 수 있어요\'라고 했다.'
코드 예시를 한번 보겠습니다.
숫자형과 동일하게 문자를 적고 타입을 확인해보도록 하겠습니다.
print(type("삼냥매"))
print(type("3"))
위의 코드 실행 결과는 아래와 같습니다.
<class 'str'>
<class 'str'>
모두 string형인 str로 출력되는 것을 확인할 수 있습니다.
다음에는 리스트, 튜플, 딕셔너리, 집합, 불린 자료형에 대해서 포스팅하도록 하겠습니다.
'언어 마스터 > 파이썬' 카테고리의 다른 글
[Python] 파이썬이란? (0) | 2022.10.19 |
---|---|
[Python] 프로그래밍 언어를 배우는 이유 (0) | 2022.10.18 |