[PYTHON] 문자열 자료형
파이썬에서 문자열은 매우 유연하게 다룰 수 있으며, 다양한 연산이 가능합니다. 아래에 주요 문자열 연산에 대해 설명하겠습니다.
print("Hello World")
문자열 나열: 파이썬에서 문자열을 콤마 없이 나란히 나열하면, 그 문자열들이 합쳐진 결과를 얻을 수 있습니다. 콤마로 문자열을 구분하여 나열하면 튜플이 됩니다.
s = 'hello' 'world'
print(s)
여러 줄 문자열: 문자열 앞뒤에 따옴표 세 개(''')나 큰따옴표 세 개(""")를 사용하거나, '\n'을 사용하여 여러 줄의 문자열을 표현할 수 있습니다.
s1 = 'hello \nworld'
s2 = '''hello
world'''
print(s1)
print(s2)
따옴표를 포함한 문자열: 문자열 안에 따옴표를 넣을 때는 큰 따옴표 안에 작은 따옴표를 사용하거나, 작은 따옴표 안에 큰 따옴표를 사용합니다. 또는, 따옴표 앞에 백슬래시()를 사용하여 따옴표를 문자열의 일부로 표현할 수도 있습니다.
s1 = 'hello "world"'
s2 = 'hello \'world\''
print(s1)
print(s2)
문자열 연산: 문자열 간의 '+' 연산은 두 문자열을 합칩니다. 또한, 문자열과 정수의 '*' 연산은 해당 문자열을 정수만큼 반복합니다.
s1 = 'hello'
s2 = 'world'
print(s1+s2)
print(s1*3)
format 메소드
문자열.format() 형태로 사용하여, 문자열 내의 일부분을 다른 값으로 치환할 수 있습니다
"Hello, {}. You are {} years old.".format("Alice", 20)
"Hello, {}. You are {:.2f} years old.".format("Alice", 20.12345)
f-string
최근에는 f-String이라는 방법을 많이 사용합니다. 이 방법은 문자열 앞에 'f'를 붙이고, 문자열 내에 변수명을 중괄호({}) 안에 넣어 사용합니다.
name = "Alice"
age = 20
print(f"Hello, {name}. You are {age} years old.")
문자열 인덱싱과 슬라이싱
문자열은 문자의 시퀀스로, 각 문자에는 위치 인덱스가 있습니다. 인덱싱은 특정 위치의 문자를 조회하는 것이고, 슬라이싱은 일정 범위의 문자열을 조회하는 것입니다. 인덱스 값은 0부터 시작합니다.
s = "Hello, World!"
print(s[0]) # 'H'
print(s[7:12]) # 'World'
print(s[-1]) # '!'
문자열 관련 주요 메서드
대/소문자 변환 :
capitalize(): 문자열의 첫 문자를 대문자로, 나머지는 모두 소문자로 변환합니다.
"hello, world!".capitalize() # "Hello, world!"를 반환합니다.
title(): 각 단어의 첫 문자를 대문자로, 나머지는 모두 소문자로 변환합니다.
"hello, world!".title() # "Hello, World!"를 반환합니다.
upper(): 모든 문자를 대문자로 변환합니다.
"hello, world!".upper() # "HELLO, WORLD!"를 반환합니다.
lower(): 모든 문자를 소문자로 변환합니다.
"HELLO, WORLD!".lower() # "hello, world!"를 반환합니다.
자릿수 지정과 정렬:
rjust(x): 문자열을 오른쪽으로 정렬하고, 왼쪽에는 공백을 채워 총 x자리를 확보합니다.
"Hello".rjust(10) # " Hello"를 반환합니다.
ljust(x): 문자열을 왼쪽으로 정렬하고, 오른쪽에는 공백을 채워 총 x자리를 확보합니다.
"Hello".ljust(10) # "Hello "를 반환합니다.
center(x): 문자열을 가운데로 정렬하고, 양쪽에는 공백을 채워 총 x자리를 확보합니다.
"Hello".center(10) # " Hello "를 반환합니다.
일부 변경 및 제거:
replace(x, y): 문자열에서 x를 y로 모두 변경합니다.
"Hello, world!".replace("world", "Python") # "Hello, Python!"를 반환합니다.
strip(x): 문자열의 양쪽 끝에서 x를 제거합니다. x를 지정하지 않으면 공백을 제거합니다.
" Hello, world! ".strip() # "Hello, world!"를 반환합니다.
분리와 연결:
split(x): x를 구분자로 사용하여 문자열을 분리하고, 그 결과를 리스트 형태로 반환합니다.
"Hello, world!".split(", ") # ["Hello", "world!"]를 반환합니다.
join(s): s의 모든 요소 사이에 문자열을 삽입하여 하나의 문자열로 합칩니다.
", ".join(["apple", "banana", "cherry"]) # "apple, banana, cherry"를 반환합니다.