문자열 | H | E | L | L | O | W | O | ||||||||
인덱싱 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | ||||||||
슬라이싱 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||||||
슬라이싱 | -7 | -6 | -5 | -4 | -3 | -2 | -1 | 0 |
s = "Hello World"
print(s[0]) # 출력 : H
print(s[-1]) # 출력 : d
print(s[1:3]) # 출력 : el
print(s[:]) # 출력 : Hello
print(s[1:]) # 출력 : ello World
print(s[:3]) # 출력 : Hel
print(s[::2]) # 출력 : HloWrd
print(s[::-1]) # 출력 : dlroW olleH
print('Hello' + ' ' + 'World') # 출력 : Hello World
print('Hello' * 3) # 출력 : Hello Hello Hello
# s[0] = 'h' 불가능
s = 'h' + s[1:] # 출력 : hello World
print(len(s)) # 출력 : 11
print(s.upper()) # 출력 : HELLO WORLD
print(s.lower()) # 출력 : hello world
print(s.swapcase()) # 출력 : HELLO wORLD
print(s.capitalize()) # 출력 : Hello world
print(s.title()) # 출력 : Hello World
print(s.endswith('ld')) # 출력 : True
print(s.endswith('ld',0,26)) # 출력 : False
print(s.startswith('hel')) # 출력 : True
print(s.startswith('hel',7)) # 출력 : False
print(s.find('World')) # 출력 : 6
print(s.find('World',3)) # 출력 : 6
print(s.index('World')) # 출력 : 6
print(s.rfind('like')) # 출력 : -1
print(s.count('ld')) # 출력 : 1
print('World' in s) # 출력 : True
u = ' spam and ham '
s = 'one:two:three:four'
t = u.split()
print(u.split()) # 출력 : ['spam' , 'and' , 'ham']
print(u.split('and')) # 출력 : ['spam' , 'ham']
print(s.split(':',2)) # 출력 : ['one', 'two', 'three:four']
print(u.strip()) # 출력 : spam and ham
print('ㅎㅁㅎㅂ파이썬ㅂㅎㅁ'.strip('ㅎㅁㅂ')) # 출력 : 파이썬
print(s.rsplit(':',1)) # 출력 : ['one:two:three', 'four']
print(u.rstrip()) # 출력 : spam and ham
print(u.lstrip()) # 출력 : spam and ham
print(u.replace('spam', 'spam, egg')) # 출력 : spam, egg and ham
print(':'.join(t)) # 출력 : spam:and:ham
lines = '''first line
second line
thrid line'''
print(lines.splitlines()) # 출력 : ['first line', 'second line', 'thrid line']
u = 'spam and egg'
print(u.center(20)) # 출력 : spam and egg
print(u.center(20,'-')) # 출력 : ----spam and egg----
print(u.ljust(20)) # 출력 : spam and egg
print(u.rjust(20)) # 출력 : spam and egg
문자열은 인덱스로 접근 가능합니다. print(s[0]) # 출력 : H
슬라이싱도 가능합니다. print(s[1:3]) # 출력 : el
문자열끼리 더하기도 가능합니다. print('Hello' + ' ' + 'World') # 출력 : Hello World
문자열에 곱하기도 가능합니다. print('Hello' * 3) # 출력 : Hello Hello Hell
문자열은 인덱스로 접근해서 값을 변경할 수 없습니다. # s[0] = 'h' 불가능
H를 h로 바꾸려고 한다면 'h'에다가 1번인덱스 부터 끝까지를 더해서 붙히는 작업을 해야합니다.
s = 'h' + s[1:] # 출력 : hello World
len(문자열)을 통해서 길이를 구할 수 있습니다. print(len(s)) # 출력 : 11
upper()을 이용해 대문자로 바꿀 수 있습니다. print(s.upper()) # 출력 : HELLO WORLD
lower()을 이용해 소문자로 바꿀 수 있습니다. print(s.lower()) # 출력 : hello world
swapcase()을 이용해 소문자는 대문자로 대문자는 소문자로 바꿉니다. print(s.swapcase()) # 출력 : HELLO wORLD
capitalize()를 이용해 첫글자만 대문자로 만듭니다. print(s.capitalize()) # 출력 : Hello world
title()을 이용해 각 단어 첫글자를 대문자로 만듭니다. print(s.title()) # 출력 : Hello World
endswith(내용)을 이용해 어떤 문자열로 끝나는지 True False를 반환합니다. print(s.endswith('ld')) # 출력 : True
endswith(내용,시작인덱스, 끝 인덱스)를 이용해서 범위를 지정할수도 시작 인덱스만 정할수도 있습니다.
startswith(내용)을 이용해 어떤 문자열로 시작하는지 True False를 반환합니다. print(s.startswith('hel')) # 출력 : True
startswith(내용,시작인덱스, 끝 인덱스) 이렇게 범위를 지정할 수도 시작 인덱스만 정할수도 있습니다.
find(내용)으로 내용의 값이 몇번째 인덱스에 있는지 찾습니다. 찾는 문자가 없는 경우 –1 반환
find(내용, 시작인덱스) 이렇게 시작할 인덱스를 정할 수도 있습니다. print(s.find('World')) # 출력 : 6
index(내용)는 find()와 동일하지만 없으면 에러를 일으킵니다. print(s.index('World')) # 출력 : 6
rfind(내용)은 내용을 오른쪽부터 찾습니다. print(s.rfind('like')) # 출력 : -1
count(내용)은 내용이 있는지 찾아서 갯수를 셉니다. print(s.count('ld')) # 출력 : 1
내용 in 문자열 로 문자열안에 내용이 있는지 Ture False를 반환합니다. print('World' in s) # 출력 : True
split()는 공백을 기준으로 분리해서 리스트에 담습니다 print(u.split()) # 출력 : ['spam' , 'and' , 'ham']
split(내용,횟수)이렇게 몇번 분리할지 어떤 거를 기준으로 분리할지를 정할 수 이습니다.
이것은 :를 기준으로 2번 분리한다는 의미입니다. print(s.split(':',2)) # 출력 : ['one', 'two', 'three:four']
strip()을 이용하면 좌우 공백있으면 제거합니다. print(u.strip()) # 출력 : spam and ham
strip(내용)을 이용하면 내용에 해당하는 걸 좌우에 있는 거 다 없앨 수 있습니다.
print('ㅎㅁㅎㅂ파이썬ㅂㅎㅁ'.strip('ㅎㅁㅂ')) # 출력 : 파이썬
rstrip()을 이용하면 오른쪽 공백만 없앱니다. print(u.rstrip()) # 출력 : spam and ham
replace(바꿀기존내용, 바꿀내용) 바꿀기존내용을 바꿀내용으로 바꿉니다.
print(u.replace('spam', 'spam, egg')) # 출력 : spam, egg and ham
'결합할문자'.join(리스트) 리스트를 결합할문자로 문자열로 만들 수 있습니다.
여기에선 :로 묶어서 문자열로 만드는 것이죠 print(':'.join(t)) # 출력 : spam:and:ham
splitlines()는 줄바꿈을 기준으로 분리해 리스트로 만듭니다.
print(lines.splitlines()) # 출력 : ['first line', 'second line', 'thrid line']
center(글자수) 문자열을 포함해 남는 건 공백으로만든 글자수만큼 고려해 중앙정렬
print(u.center(20)) # 출력 : spam and egg
center(글자수,문자열) 공백이 아니라 다른 문자열로 지정해줄 수 있습니다.
print(u.center(20,'-')) # 출력 : ----spam and egg----
ljust(글자수) 글자수만큼 고려해 왼쪽정렬 print(u.ljust(20)) # 출력 : spam and egg
rjust(글자수) 글자수만큼 고려해 오른쪽 정렬 print(u.rjust(20)) # 출력 : spam and egg
'파이썬 (추후 수정)' 카테고리의 다른 글
파이썬 논리 연산자, 나머지, 나누기, 몫 (0) | 2021.07.18 |
---|---|
파이썬 If문 (0) | 2021.07.18 |
파이썬 List(리스트) (0) | 2021.07.17 |
파이썬 Tuple(튜플) (0) | 2021.07.17 |
파이썬 Input (0) | 2021.07.17 |