파이썬의 기초 숫자형, 문자열 자료형. 포매팅

일상 2019. 1. 27. 09:42 Posted by 아삼양라면

파이썬의 기초 숫자형, 문자열 자료형. 포매팅

자료형이란 프로그래밍에 쓰이는 숫자나 문자열 등 사용되는 무든 형태를 말합니다. 사람으로 따지면 글자 같은 존재라고 할까요? 편지를 작성하기 위해선 한글부터 알아야 하듯이 프로그래밍을 하기위해서는 어떤 자료형이 쓰이는지를 알아야 합니다. 파이썬의 가장 기초가 되는 자료형은 숫자형, 문자열 등등이 있습니다. 파이썬에 사용되는 자료형이 어떤 것인지만 완벽히 알아도 쉬운 코딩정도는 읽을 수 있을거라고 합니다. 하지만 굳이 자료형에서 시간을 사용하며 외울필요는 없습니다. 반복적으로 작업하면서 자연스럽게 익히게 되는 구간이기도 하니깐요. 그럼 지금부터 간단하게 자료형에 대해서 알아보도록 하겠습니다.


1.숫자형

파이썬에는 1,2,3,4,5 같은 숫자가 사용됩니다. 저는 문과출신이라 숫자형이 어떤것들이 있었는지 봐도 잘 몰랐지만 크게 중요하지는 않습니다. 그냥 이런것들이 사용되는구나 정도만 알면 될 것 같습니다. 모르는게 나오면 그 때 찾으면서 해도 되더라구요. 일단 숫자형에는 정수형, 실수형, 복소수 등이 사용됩니다. 


먼저 정수형이란 우리가 알고 있는 숫자입니다. 초등학교 때 양의정수 음의정수 배웠던거 기억나시나요? 1,2,3 ....이 양의정수이며 -1,-2,-3....이 음의정수입니다. 실수형이란 소수점이 포함된 숫자를 말합니다. 1.2 또는 -1.2 등이 예이지요. 복소수는 조금 복잡합니다. 5=1a+3 이와 같은 주로 간단한 연산에 쓰이기도 하는 것이 바로 복소수 입니다. 중요하지 않으니 이것 또한 패스해도 좋습니다. 이러한 숫자형자료들은 파이썬내에서 사칙연산이 가능합니다. +,- 등등 이요. 중요하지 않으니 패스입니다. 숫자만 알면 대한민국사람 다아는내용입니다. 어렵게 갈필요없잖아요.^^ 8진수, 16진수 또한 있는데 이건 그냥이야기만 들어도 머리아프네요 패스하면 됩니다.




2.문자열 자료형

문자열이란 말그대로 문자, 단어로 구성된 문자들의 집합을 말합니다. 예를 들면 다음과 같은 것입니다.

"hello"

"321"

문자열을 표기해줄 때 중요한 점은 바로 " " 따옴표를 붙이는 겁니다. 숫자 또한 상관없습니다. 따옴표 안에 들어간다면 파이썬은 그걸 문자로 인식합니다. 문자열 자료형에서 중요한것은 바로 " " 따옴표! 따옴표 외에도 문자열로 만들수 있는 것이 몇가지 더 있습니다. 


"hello" 큰따옴표


'hello' 작은따옴표


"""hello""" 큰따옴표3개


'''hello''' 작은따옴표3개


이렇게 4가지가 있는 이유는 큰따옴표와 작은따옴표를 문자열이 아닌 문자로 쓰고 싶을때를 대비해서입니다. 무슨말인즉 예를 들어보겠습니다.


>>i sad "thank you"


이 영어를 표현하기 위해서는 어떻게 해야할까요? 탱큐를 감싸고 있는 따옴표는 문자열로 만들기 위해서가 아닌 "탱큐"라는 주어가 말하는 것을 표현하기 위해 사용된 것입니다. 이런 경우를 대비해서 문자열을 만드는 방법이 나뉘게 되는 것입니다. 


>>'i sad "thank you"' 


작은 따옴표를 이용해 큰따옴표까지 문자열로 만든 모습이니다. 이해가 되셨나요? 따옴표들을 사용하기 위해서 큰따옴표 3개를 사용하거나 작은 따옴표3개를 사용하는 등 문자열 만드는 방법이 다양합니다. 저같은 경우에는 애초에 큰따옴표 3개를 사용해버리기도 합니다. 그렇다면 안에 따옴표를 넣었는지 작은따옴표가 있는지 신경안쓰고 문자열 처리를 할 수 있으니깐요. 



3.문자열 연산하기

파이썬에서는 숫자처럼 문자도 더하고 뺴고 곱하기 등을 할 수 있습니다. 꼭 숫자, 문자열이 아니더라도 왠만한 것들은 곱하기 더하기 나누기 등 사칙연산이 가능합니다.

>>A = "HI" 


>>B = " KIM"


>>A+B


HI KIM

A에는 "HI"라는 문자열을 가지고 있고 B는 " KIM"이라는 문자열을 가지고 있습니다. A와B를 더하면 그 문자열의 값들도 더해집니다.

>>A*5

HIHIHIHIHI


"HI"라는 값을 가지고 있는 A에 5를 곱할 수도 있습니다 A에 5를 곱하니 HI 또한 5번 반복이 됩니다.


4.문자열 인덱싱과 슬라이싱

인덱싱이란 말은 무엇가를 가린킨다라는 뜻입니다. 슬라이싱은 자르다라는 뜻입니다. 문자열을 가리키고 잘라 편집할 수 있다는 건데요. 간단히 알아보 겠습니다. 시작전에 파이썬은 무엇인가 시작할때 1이 아닌 0부터 시작한다는 점을 인지해주세요.

"HELLO"

 01234


파이썬은 "HELLO" 라는 문자열의 글자들을 각각 번호를 매깁니다. 즉 0의 위치는 H, 1의 위치는 E입니다. 파이썬은 1이 아닌 0부터 시작합니다. "HELLO" 라는 알파벳은 01234 의 위치로 파이썬은 인식합니다. 다시 한번 말씀드리지만 파이썬은 1이 아닌 0부터 숫자가 시작됩니다.


>>A = "HELLO"

>>A[3]

'L'

[] 가로안에 숫자는 해당 숫자위치에 있는 문자열을 가리키는 겁니다. A[3]은 A가 가지고 있는 문자열의 3의 위치에 해당하는 문자를 가리키는 겁니다. 즉 인덱싱 하는 것이지요 A의 3의 위치에 있는 것은 바로 L 입니다. 그렇기 때문에 파이썬에서 A[3]을 인덱싱한다면 'L'의 값이 나옵니다. 정리하자면 A[숫자]는 A 값을 가지고 있는 문자열에서 3번째에 위치한 문자열을 가지고 오는 것입니다.

이번에는 슬라이싱을 해보겠습니다. 슬라이싱이란 문자열 값을 자른다라는 뜻입니다. 자른다기 보다는 편집한다라고 이해하면 더 좋습니다.


>> Q = "ABCDEFGHI"


Q의 값은 "ABCDEFGHI" 라는 문자열을 가지고 있습니다. 복습해보자면 Q[0]의 값은 A, Q[8]의 값은 I 입니다. 인덱싱에서 슬라이싱으로 넘어가는 과정은 간단합니다. 연산작용을 해주면 끝입니다. 예를 들어봅시다


>> Z = Q[0]+Q[8]


'AI'


Q 값의 가장 앞자리와 뒷자리 문자열을 가져와 더했더니 'AI'라는 새로운 값이 나왔습니다. 문자열 슬라이싱은 인덱싱과 연산작업으로 이뤄집니다. 슬라이싱 하는 몇가지 방법을 더 알아보도록 하겠습니다.


>> Q[0:3] 


'ABC'


[시작숫자:끝숫자]


이 경우 시작숫자이상 끝숫자 미만의 문자열을 잘라옵니다.

즉 0자리를 포함해서 0,1,2 까지만 끌어오는 겁니다. 3은 미만으로 포함되지 않습니다.

>> Q[0:]

'ABCDEFGHI'


[시작숫자:]


시작숫자만 적고 끝숫자를 뺀다면 시작숫자부터 끝까지 문자열을 불러옵니다.


>>Q[:9]


[:끝숫자]


시작숫자를 뺴고 끝 숫자만 넣는다면 처음부터 끝 숫자미만까지 문자열 값을 불러옵니다.


5.문자열 포매팅

포매팅이란 내가 원하는 값을 문자열에 바로 대입하는 것입니다. 예를 든다면 "지금 ㅇㅇ시 입니다" 라는 문장을 치고 싶을 떄 00의 값을 대입하여 원하는 값을 만드는 것입니다. 문자열 포매팅도 간단한 예를 들어서 알아보겠습니다.

>>"지금은 %d시 입니다." %3

'지금은 3시 입니다.'


위와 보는 것처럼 %d 라는 값을 넣어주면 , 뒤에 있는 %3 값이 자동으로 대입되어 값으로 나옵니다. 이걸 포매팅이라고 부르는데, 앞에 배웠던 정수형, 문자열 마다 %뒤에 붙여주는 코드값이 다릅니다. 예를 들어 저는 3이라는 정수값을 넣기 위해서 %d, 3 의 값을 넣었지만, three라는 문자열 값을 포매팅하고 싶다면 %s, three 이렇게 넣어야 합니다. 아래는 문자열 포맷코드에 맞는 포매팅값입니다.

%s - 문자열

%c - 문자 1개


%d - 정수


%f - 부동소수


%o - 8진수


%x - 16진수


%% - %그자체


8진수, 16진수는 사용할일이 많이 없으니 무시하셔도 됩니다. %%는 %라는 값 그자체를 가지고 오고자 할때 사용하는 겁니다. 지금 알아본 인덱싱, 슬라이싱, 포매팅은 뒤로가서도 계속 반복되면서 나오기 때문에 굳이 지금 이해하고자 노력할 필요가 없습니다. 파이썬의 기초이기 때문에 자주 사용하기 하지만 그만큼 빨리 습득이 됩니다. 그냥 파이썬 기초에 이런게 있구나 하고 넘어가셔도 좋습니다. 왜냐면 지금말한 내용들은 계속 반복되면서 사용될 예정이기 때문입니다.