[Python] 문자열 생성 및 슬라이싱, 속성 추출 및 변환하기

728x90

문자열은 각 철자들이 모여있는 문장으로 볼 수 있습니다. 이러한 문자열에서 특정 철자까지만 자를 수 있습니다. 또한 맨 처음의 철자부터 마지막 철자까지 번호를 붙여서 셀 수 있습니다. 이렇게 차례대로 셀 수 있는 순서가 있는 데이터를 sequence라고 합니다.



 문자열 생성 

문자열은 "문자열" , '문자열' 처럼 쌍따움표나, 홑따움표를 사용하여 표현할 수 있습니다.

string1 = "double quotes"
string2 = 'single quotes'
print(string1)
print(string2)

또한 쌍따움표나 홑따움표를 세번씩 사용하여 하나의 문장을 여러line에 걸쳐 작성할 수도 있습니다.

string3 = """multiline
double quotes
string"""
string4 = '''multiline
single quotes 
string'''

print(string3)
print(string4)



 문자열 슬라이싱 

이러한 문자열은 특정 철자까지만 슬라이싱 할 수 있습니다. 문자열은 각 철자에 아래와 같이 번호(index)를 매길 수 있습니다. 개별 철자를 뽑아내거나 슬라이싱으로 일부만 뽑아낼 수 있습니다.

string = "python string"

# 특정 철자만 뽑아내기
print(string[0], string[4], string[-6], string[-10])

# 문자열 일부만 슬라이싱 (마지막 숫자 앞까지 뽑음)
print(string[0:4])
print(string[-10:-4])

print(string[:7])  # 앞에 숫자가 없으면 처음부터 가져옴
print(string[-4:]) # 뒤에 숫자가 없으면 끝까지 가져옴

# index 0번 ~ 12번까지 뽑아서 몇개씩 건너뛰면서 뽑아옴
print(string[0:12:2])  # 2개씩 건너뜀 (p, t, o,  , t, i) 
print(string[0:12:3])  # 3개씩 건너뜀 (p, h,  , r)

# 문자열을 맨 끝부터 반대로 출력
print(string[::-1])



속성 추출 및 변환

문자열은 슬라이싱뿐만 아니라, 특정한 값을 알고 싶을 때 해당 값들을 따로 확인할 수 있습니다. 또한 문자열의 전체 내용을 변경할 수도 있습니다.

print(len(string)) # 문자열 전체 길이
print(string.replace("Python", "Java")) # 특정 내용 변경

# 해당 문자가 있는 index 반환
print(string.find('h')) 
print(string.index('h')) 

# 찾으려는 문자열이 있을 때, 그 문자열의 첫 문자가 있는 index 반환
print(string.find("thon")) 
print(string.index("thon")) 

print(string.count('n')) # 해당 문자가 문자열에 몇 번 있는지 셈

print(string.lower())    # 전부 소문자로 변경
print(string.upper())    # 전부 대문자로 변경

print(string[1].isupper())   # 전부 대문자인지 확인
print(string[1:3].islower()) # 전부 소문자인지 확인



find 및 index 차이

find는 찾으려는 내용을 찾지 못 하면 -1을 반환하지만, index는 못 찾으면 프로그램 에러를 냅니다.
따라서 프로그램 종료없이 값을 찾으려면 find가 좋습니다.
string = "Python String"
print("find: ", string.find('a'))
print("index: ",string.index('a'))


댓글

Designed by JB FACTORY