티스토리 뷰

문자열 자료형이란?

저번 포스팅에서는 숫자형을 알아보았고, 이번 포스팅에서는 문자열을 다뤄보도록 하겠습니다. 문자열 자료형은 작은따옴표(' ')나 큰따옴표(" ") 안에 문자나 단어, 문장 등을 적어서 표현합니다.  


nickname = "lemoncany"
blogurl='http://justmakeyourself.tistory.com/'


아주 간단하죠? 따옴표 안에 있는 것은 다 문자입니다. 그렇다면 "123"이라는 값은 문자 일까요? 네. 따옴표 안에 들어있으니 데이터 타입을 확인하면 문자라고 뜹니다.


따옴표로 둘러싸여 있으면 문자열 자료형 이라고 생각하시면 됩니다.

여러줄 문자열 사용하기

여러줄로 되어 있는 문자열을 형태를 유지하면서 변수에 넣을 수 있을까요?

long_str = """여러줄을 이용해서
문자열을 만든 뒤 변수에
넣을수도 있습니다."""


""" 문자열 """ 또는 ''' 문자열 ''' 등 따옴표를 세개씩 쓰면 형태를 유지하면서 변수에 여러줄로 된 문자열을 넣을 수 있습니다. 

문자열 더하거나 곱하기

문자열을 더하면 어떻게 될까요?

str1 = "hello"
str2 = " world"
str3 = str1 + str2 #hello world


문자열 끼리 더하면 문자열이 합쳐집니다. + 연산자를 통해서 문자열을 합치는 것은 다른 언어들에서도 많이 있습니다. 그럼 문자열을 곱하면 어떻게 될까요? 


equ = "=="
print(equ * 10) # ====================


똑같은 문자열을 곱한만큼 반복해 줍니다. 파이썬은 이처럼 아주 직관적이고, 쉬운 언어입니다. 아주 재밌지 않나요?

문자열의 인덱스

문자열은 인덱스를 가지고 있습니다. 인덱스를 가지고 있다는 말은 순서가 있는 자료형이라고 할 수 있습니다. 보통 컴퓨터는 0부터 숫자를 셉니다. 그러니까 맨 첫글자가 0번이고, 그 다음부터 1번, 2번 이렇게 나간다는 것이죠.  


greeting = "hello world"
greeting[1] #e
greeting[4] #o
greeting[7] #o


인덱스를 지정할 때 범위를 지정할 수도 있습니다. 파이썬은 아주 직관이고!(반복은 삼가하겠습니다^__^).


greeting[2:4] #ll
greeting[2:7] #llo w
greeting[1:] #ello world
greeting[:3] #hel


범위는 콜론을 통해서 줍니다. greeting[2:4]는 인덱스가 2이상 4미만인 것들을 내놓으라는 의미입니다. 범위에서 오른쪽은 미만이라고 기억해두세요. 시작 범위는 있지만 종료 범위가 없다면 끝까지 출력하고, 시작범위는 없고 종료 범위만 있다면 0부터 시작합니다. 인덱스 부분이 좀 길어지긴 하지만 계속 알아보겠습니다. 인덱스엔 음수도 넣을 수 있습니다. 음수를 넣으면 문자를 뒤에서 부터 세고 출력합니다. 즉 맨 뒤의 문자가 -1인 것이죠.


greeting[-1] #d
greeting[-2] #l
greeting[0:6:2] #hlo


위에 소스코드에서 3번째 줄에는 콜론을 두개 썼습니다. 두번째 콜론 뒤의 숫자는 무엇일까요? 적은 숫자만큼 칸을 띄어서 출력해줍니다. 그래서 hello에서 e,o가 빠지고 hlo가 출력된 것입니다. 그럼 퀴즈를 내볼까요?


greeting = "hello world"라는 변수가 정의되어 있습니다. 그럼 문자열의 순서를 뒤바꿔서 출력해보세요. 프롬프트에 "dlrow olleh"라고 나타나면 됩니다. 정답은 댓글에 남겨놓겠습니다.

문자열 메소드 알아보기

문자열 메소드는 문자열에서만 사용할 수 있는 함수라고 생각하시면 됩니다. 자주 사용하는 것들을 한번 알아볼까요? 문자열을 모두 대문자로 바꿀때는 upper()을 사용하고 소문자로 바꿀 때에는 lower()을 사용합니다.

upper_greeting = greeting.upper() #HELLO WORLD
lower_greeting = upper_greeting.lower() #hello world


기존에 있던 greeting이란 변수의 문자를 대문자로 바꿔서 upper_greeting이라는 변수에 넣고 다시 upper_greeting을 소문자로 바꿔서 lower_greeting라는 변수에 넣었습니다. 아주 간단하죠? 마지막으로 문자열을 쪼갤 수 있는 split()메소드를 알아보겠습니다. 


hello = "this is lemon candy's blog hello everybody"
hello.split()
# ['this', 'is', 'lemon', "candy's", 'blog', 'hello', 'everybody']


split()메소드를 사용하면 문자열이 띄어쓰기가 되어 있는 부분을 구분해서 배열에 넣어 반환합니다. 


hello.split("'")처럼 괄호 사이에 따옴표를 쓰고 구분자를 넣어주면 해당 구분자를 기준으로 구분해줍니다.저는 '을 넣어봤습니다. 다른 문장으로도 연습해보세요.



다음 포스팅에서도 계속 자료형을 이어서 하도록 하겠습니다.



공감은 제작자에게 큰 힘이 됩니다.


'Backend-dev > python' 카테고리의 다른 글

파이썬의 불리언(boolean) 값  (0) 2018.03.27
파이썬의 문자열 포맷팅  (0) 2018.03.20
파이썬의 자료형인 숫자형 알아보기  (0) 2018.03.18
파이썬의 변수  (0) 2018.02.06
파이썬의 주석  (0) 2018.02.05
댓글