본문 바로가기

개발/Python

[파이썬] 데이터타입 - 문자열 자료형

파이썬의 문자열 데이터타입에 대해 알아보자.

문자열 특수문자 활용법

에디터상 줄바꿈 \ 활용법

코딩 중 문자열의 길이가 너무 길어 code의 가독성이 떨어질 경우 중간에 \을 넣어 에디터 상 엔터이지만 코드로는 이어진 문자열을 만들 수 있다.

코드상 줄바꿈 "\n" 활용법

print를 했을 때 enter를 입력한 것과 같은 효과를 내려면 \n을 넣어준다.

코드상 tab "\t" 활용법

print를 했을 때 tab을 입력한 것과 같은 효과를 내려면 \t를 넣어준다.

""" """ 와 ''' ''' 활용법

만약 위의 특수기호를 활용하기 싫고, 에디터 상 코드를 그대로 출력하고 싶다면 """ """ 와 ''' ''' 사용하여 보이는 그대로 출력할 수 있다.

s1= "ab\n" \
     "\t\t\tc"
s2= 'ab' \
     'c'
s3= '''ab 
             c'''
s4= """ab 
c"""
print( s1 )
print( s2 )
print( s3 )
print( s4 )
print( type(s1) )
print( type(s2) )
print( type(s3) )
print( type(s4) )

 

 

 

문자열 인덱스

선언된 문자열은 각 char마다 인덱스를 갖는다. 이를 활용하여 해당 위치의 글자 하나씩 출력할 수 있다.

s1 = 'abc'
print( s1[0] )
print( s1[1] )
print( s1[-1] )
print( s1[-2] )

 

 

문자열 슬라이싱

 

문자열은 콜론( : ) 구분자를 통해 단위 지정을 할 수 있다.

s1[0:4:1]의 뜻은 0번째 인덱스부터 인덱스 4 전까지 한개 단위씩 찍는다는 뜻이다.

s1[1:4]는 1번째 인덱스부터 인덱스 4 전까지 모두 찍기

 

가장 앞에 숫자를 생략하고 바로 :를 입력할 수 있는데 이는 0이 생략됐다고 생각하면 된다.

s1[:5:2]의 뜻은 0번째 인덱스부터 인덱스 5전까지의 수를 2개 단위씩 찍는 다는 뜻. 즉 01234 중 0부터 시작하여 2개 건너 뛴 2, 4까지만 찍는다.

s1[1:]의 경우 1부터 끝까지 찍는다는 뜻이다.

s1[-1:-4:-1]의 경우 인덱스 -1부터 -4전까지 내림차순으로 출력한다는 뜻이다.

s1 = '0123456789'

print( s1[0:4:1])
print( s1[1:4])
print( s1[:5:2])
print( s1[1:])
print( s1[-1:-4:-1])

 

 

 

문자열 연산기호 +, *

문자열에도 연산기호를 적용하여 출력할 수 있다.

 

s1 = '0123456789'
s2 = s1 +'string'
s3 = s1*2
print( s1 )
print( s2 )
print( s3 )

 

 

 

문자열 나누기 sprit()

split 함수를 사용하여 문자열의 공백을 토큰으로 문자열을 나눌 수 있다.

s = "   my name is gozz  "
s = s.split()

print( s )

 

 

 

 

문자열 공백 지우기 strip()

strip 함수를 사용하여 문자열 앞 뒤의 화이트스페이스(공백, \n, \t...)를 지울 수 있다.

s = "   this is gozz`d  tistory   "
s = s.strip()
print( s )

 

 

 

문자열 immutable

선언된 문자열은 변경할 수 없다.

s = 'GOZZ'
print(s[0] )
s[0] ='A' # immutable