🎯

4.1.4. 문자 자료형

1. 문자 자료형

  • 순서가 있는 시퀀스 자료형입니다.
  • 작은 따옴표(' ')나 큰 따옴표(" "), 삼중따옴표('''str''', """str""")로 감싸는 것도 가능합니다. (삼중따옴표를 사용할 경우에는 줄단위의 문자열을 나타낼 수 있습니다.)
  • 작은 따옴표 안에 큰 따옴표, 큰 따옴표 안에 작은 따옴표 사용이 가능합니다.
  • 이스케이프 문자도 사용이 가능합니다.
notion imagenotion image
 
시퀀스 자료형이란 무엇일까요?
Sequence 즉, 순서가 있는 자료형이라는 뜻으로 각 요소들은 해당하는 Index 값을 갖습니다. 파이썬에서 가장 많이 사용되는 형태의 자료형이며, 시퀀스 자료형이 가지는 특성을 통하여 인덱싱, 슬라이싱, 반복 등 여러 연산으로 그 활용범위가 넓습니다. 파이썬에서는 문자열, 리스트 그리고 튜플이 시퀀스 자료형에 해당됩니다. 여기에 딕셔너리, 셋은 포함되지 않으니 주의해주세요.
 
입력
a = 'paullab CEO leehojun' b = 'paullab CEO leehojun' c = "paullab CEO 'leehojun'" d = 'paullab CEO \'leehojun' #같은 종류의 따옴표를 사용하고 싶으면 이스케이프 문자를 사용해야 합니다. print(a, b, c, d)
 
출력
'paullab CEO leehojun' 'paullab CEO leehojun' "paullab CEO 'leehojun'" 'paullab CEO \'leehojun'
 
입력
valString = 'abc' valList = [1, 2, 3] valTuple = (1, 2, 3) print(valString[0]) print(valString[1]) print(valString[2]) print(valList[0]) print(valList[1]) print(valList[2]) print(valTuple[0]) print(valTuple[1]) print(valTuple[2])
 
출력
a b c 1 2 3 1 2 3
 

2. 자주 쓰이는 method

2.1 lower( ) / upper( )

lower( )은 전체 데이터를 소문자로 바꿔주는 method이고, upper( )은 전체 데이터를 대문자로 바꿔주는 method입니다.
입력
s = 'paullab CEO leehojun' s.lower() #전체를 소문자로 바꿔주는 method s.upper() #전체를 대문자로 바꿔주는 method
 
출력
'PAULLAB CEO LEEHOJUN' 'paullab ceo leehojun'

2.2 find( ) / index( )

find( )와 index( )는 특정 데이터를 찾아서 출력해주는 method( )입니다.

1) 찾을 값이 있는 문자열인 경우

입력
s = 'paullab CEO leehojun' s.find('CEO') #문자열을 찾아주는 method s.index('CEO')
 
출력
8 8

2)찾을 값이 없는 문자열인 경우

입력
s = 'paullab CEO leehojun' s.find('CTO') s.index('CTO')
 
출력
-1 ERROR

2.3 count( )

count( )는 특정 문자열이나 숫자의 개수를 셀 때 사용하는 method입니다.
입력
s = 'paullab CEO leehojun' s.count('l') #문자열이나 숫자를 셀 때 사용
 
출력
3

2.4 strip( )

strip( )은 데이터의 양쪽의 공백과 특정 문자를 제거해주는 method입니다.
입력
' ,!! hello world '.strip(' ,!') #양쪽의 공백과 ',!'을 제거해주는 method
 
출력
'hello world'

2.5 replace( )

replace( )는 어떤 문자열의 특정 부분을 다른 문자로 교체해주는 method입니다.
입력
' ,!! hello world '.replace(' ', '') #다른 문자로 교체해주는 method
 
출력
',!!helloworld'
 
입력
#메서드 체이닝 : 연속해서 다른 method들을 실행합니다. ' ,!! hello world '.replace(' ', '') .replace(',', '').replace('!', '')
 
출력
'helloworld'

2.6 split( ) / join( )

split( )는 데이터를 원하는 기준에 따라 쪼개어주는 method이고, join( )은 쪼개어진 데이터를 합쳐주는 method입니다.
입력
'paullab CEO leehojun'.split(' ') #문자열을 쪼개어 줍니다. 'paullab!CEO!leehojun'.split('!') 'paullab,CEO,leehojun'.split(',')
 
출력
['paullab', 'CEO','leehojun'] ['paullab', 'CEO','leehojun'] ['paullab', 'CEO','leehojun']
 
입력
'~'.join(['paullab','CEO','leehojun']) #쪼개어진 문자열을 합쳐줍니다. '!'.join(['paullab','CEO','leehojun'])
 
출력
'paullab~CEO~leehojun' 'paullab!CEO!leehojun'

2.7 isalnum( ) / isalpha( ) / isacii( )

isalnum( )은 데이터가 숫자인지 아닌지 판단해주는 method이고, isalpha( )는 알파벳인지 아닌지를 판단해줍니다. isacii( )는 아스키코드인지 아닌지를 판단해줍니다.
입력
'paullab CEO leehojun'.isalnum() #숫자인지 아닌지 판단해줍니다. '123'.isalnum()
 
출력
False True
 
입력
'paullab CEO leehojun'.isalpha() #알파벳인지 아닌지 판단해줍니다. '123'.isalpha()
 
출력
True False
 
입력
'paullab CEO leehojun'.isacii() #아스키코드인지 아닌지 판단해줍니다. '123'.isacii()
 
출력
True True

2.8 rjust( ) / ljust( ) / center( )

rjust( )는 데이터 오른쪽에 정렬해주는 method이고, ljust( )는 왼쪽에 정렬해줍니다. center( )는 가운데정렬을 해주는 method입니다.
입력
'paullab CEO leehojun'.rjust(30) #오른쪽 정렬 'paullab CEO leehojun'.ljust(30) #왼쪽 정렬 'paullab CEO leehojun'.center(30)#가운데 정렬
 
출력
' paullab CEO leehojun' 'paullab CEO leehojun ' ' paullab CEO leehojun '

2.9 zfill( )

zfill( )은 데이터의 빈 공간을 원하는 숫자, 문자, 기호 등으로 채워줍니다.
입력
'paullab CEO leehogun'.zfill(30) #빈 공간을 채워줍니다. 'paullab CEO leehogun'.zfill(30).replace('0','!') bin(30)[2:] bin(30)[2:].zfill(8)
 
출력
'0000000000paullab CEO leehojun' '!!!!!!!!!!paullab CEO leehojun' '11110' '00011110'

2.10 translate( )

translate( )는 규칙테이블이며, 어떤 규칙을 정해 데이터를 정렬해줍니다.
입력
규칙테이블 = str.maketrans('le','12') 'paullab CEO leehogun'.translate(규칙테이블) #어떤 규칙을 정하는것
 
출력
'pau11ab CEO 122hojun'