파이썬을 시작하기에 앞서 기본기부터 알아보겠습니다.
문자열 메소드, 즉 문자열에서 사용가능한 메서드들에 대해서 배워보겠습니다.
1.format
format메서드는 중괄호({})를 사용하여 위치를 지정하고 format메서드에 값을 넣어주면 순서대로 값이 적용되는 메서드입니다.
test = 'test {} {}'
test.format('test2',123)
print(test)
print를 사용해서 확인해보면 test변수의 문자안의 중괄호가
format메서드안의 글자로 변경이 된것을 확인할 수 있었습니다.
2.replace
replace메서드는 값을 바꾸어 줍니다.
replace(A,B) 이렇게 사용하여 A의 값을 B로 변경할 수 있습니다.
test = 'test code code'
test.replace('code','test')
test 변수안의 'code'라는 문자가
'test'로 변환이 된것을 확인할 수 있었습니다.
3.split
split메서드는 문자열을 자르는 메서드입니다.
split()안에 아무것도 적지 않으면 공백을 기준으로 자르고
split('/')이런식으로 문자를 적어주면 문자를 기준으로 자릅니다.
test = 'one two three'
a,b,c = test.split()
이렇게 split메서드 안이 비어있을 경우에는 공백으로 자르고
문자를 지정해준 경우에는 문자를 기준으로 잘라 각각의 변수에 저장합니다.
4.join
join메서드는 문자를 합치는 메서드 입니다.
'/'.join(A) 넣어줄 글자를 지정후 join메서드에 합칠 변수를 써주면 사용가능합니다.
test = 'abcde'
print('/'.join(test))
a,b,c,d,e 사이사이에 문자'/'가 들어간 것을 확인할 수 있었습니다.
5.count
count메서드는 문자의 개수를 구해주는 메서드 입니다.
A.count('a') 형식으로 사용할 수 있습니다 .
test = 'Python for Everybody'
print(test.count('P'))
print(test.count('o'))
print(test.count('r'))
test변수의 'Python for Everybody'이라는 문자열에서
P는 'Python for Everybody' 1개
o는 'Python for Everybody' 3개
r는 'Python for Everybody' 2개
이렇게 사용 가능합니다.
6.find,index
find메서드와 index메서드로 문자열의 인덱스를 구할 수 있습니다.
A.find('a')
A.index('a')
둘은 비슷한 메서드지만 find는 찾는값이 없으면 -1을 반환하고, index는 에러를 반환합니다.
test = 'Python for Everybody'
print('find P : ',test.find('P')) #'P'는 첫번째 인덱스 이므로 0반환
print('find R : ',test.find('R')) #'R'은 없으므로 -1반환
print('index y : ',test.index('y')) #'y'는 두번째 인덱스 이므로 1반환
print('index K : ',test.index('K')) #'K'는 없으므로 에러
find로 찾은 'P'는 첫번째 인덱스 이므로 0반환
find로 찾은 'R'은 없으므로 -1반환
만약 맨 마지막 인덱스를 찾고 싶다면 rfind로 사용가능합니다.
index로 찾은 'y'는 두번째 인덱스 이므로 1반환
index로 찾은 'K'는 없으므로 에러
친절하게 substring not fond라고 에러를 표시합니다.
7.is~
isalpha() | 알파벳으로 이루어진 문자열인지 확인 |
isdigit() | 숫자 문자열인지 확인 |
isalnum() | 알파벳, 숫자로 이루어진 문자열인지 확인 |
isupper() | 대문자로 이루어진 문자열인지 확인 |
islower() | 소문자로 이루어진 문자열인지 확인 |
이모두 True/False로 반환합니다.
#알파벳으로 이루어진 문자열인지 확인 - isalpha
print('test'.isalpha()) #True
print('test1'.isalpha()) #False
#숫자 문자열인지 확인 - isdigit
print('123'.isdigit()) #True
print('123a'.isdigit()) #False
#알파벳, 숫자로 이루어진 문자열인지 확인 - isalnum
print('test123'.isalnum()) #True
print('!'.isalnum()) #False
#대문자로 이루어진 문자열인지 확인 - isupper
print('TEST'.isupper()) #True
print('test'.isupper()) #False
#소문자로 이루어진 문자열인지 확인 -islower
print('test'.islower()) #True
print('TEST'.islower()) #False
8.upper,lower,swapcase
upper메서드는 문자열을 대문자로 변경하는 메서드입니다.
lower메서드는 반대로 소문자로 변경하는 메서드입니다.
swapcase는 소문자는 대문자로, 대문자는 소문자로 서로 뒤바꿔주는 메서드입니다.
test = 'TESTtest'
print(test.upper()) #대문자로 변환 'TESTTEST'
print(test.lower()) #소문자로변환 'testtest'
print(test.swapcase()) #대문자는 소문자로 소문자는 대문자로 변환 'testTEST'
upper는 소문자를 대문자로
lower는 대문자를 소문자로
swapcase는 서로 반대로
변환하는 것을 확인했습니다.
9.capitalize, title
caplitalize메서드는 첫글자만 대문자로 변경하고 나머지 문자는 소문자로 반환합니다.
title메서드는 각단어의 앞글자만 대문자로 변경하고 나머지 문자는 소문자로 반환합니다.
test = 'python for everybody'
print(test.capitalize()) #Python for everybody - 맨앞글자만 대문자로 변환
print(test.title()) #Python For Everybody - 각 단어의 맨 앞 글자를 대문자로 변환
눈으로 확인해 보았습니다.
10.strip
strip메서드는 공백을 제거하는 메서드 입니다.
왼쪽만 제거하려면 lstrip, 오른쪽만 제거하려면 rstrip,
양쪽 모두 제거하려면 strip을 사용하면 됩니다.
test = ' Python for Everybody '
print('|',test.lstrip(),'|') #왼쪽 공백 제거
print('|',test.rstrip(),'|') #오른쪽 공백 제거
print('|',test.strip(),'|') #양쪽 공백 제거
lstrip은 왼쪽 공백 제거
rstrip은 오른쪽 공백 제거
strip은 양쪽 공백 제거 한 것을 확인할 수 있었습니다.
이렇게 10가지의 기본적인 문자열 메서드에 대해서 알아보았습니다.
'Python' 카테고리의 다른 글
[Python] 16 - 기본기 - 리스트 자료형 (0) | 2021.08.17 |
---|---|
[Python] 15 - 기본기 - bool 자료형 (0) | 2021.08.15 |
[Python] 13 - 기본기 - 문자열 슬라이싱 (0) | 2021.07.27 |
[Python] 12 - 기본기 - 문자열 (0) | 2021.07.26 |
[Python] 11 - 기본기 - 수학 함수 (0) | 2021.07.22 |