반응형
문자열   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