포스트

[ Python 강의 ] 6-1. 문자열 기본

파이썬 문자열 이해하기 - Part 1: 기본

문자열의 기본

문자열은 텍스트 데이터를 나타내는 파이썬의 데이터 타입입니다. 예를 들어, 단어, 문장 또는 전체 문단 등이 문자열에 해당합니다. 파이썬에서 문자열을 만들려면 텍스트를 따옴표로 감싸면 됩니다.

1
2
simple_string = "안녕하세요, 파이썬!"
print(simple_string)

문자열의 불변성(Immutability)

파이썬에서 문자열은 불변합니다. 즉, 한 번 만들어진 문자열을 변경할 수 없습니다.

1
2
3
4
s = "Python"
# s[0] = "J"  # 오류를 발생
s = "J" + s[1:]  # 문자열을 변경
print(s)  # 출력: Jython

문자열 포매팅

문자열 포매팅은 문자열 내에 변수나 값을 삽입하는 방법입니다.

1. f-string

Python 3.6 이상에서 사용할 수 있으며, 문자열 안에 변수와 표현식을 직접 삽입할 수 있습니다. 아래와 같이 문자열 내에서 따옴표 왼쪽 밖에 f 를 붙여서 f"" 이런식으로 표현하며, 변수는 문자열 내에서 중괄호로 감싼 후 변수의 이름이나 식을 적으면 됩니다.

1
2
3
name = "Alice"
age = 24
print(f"My name is {name} and I am {age} years old.")

2. str.format() 메소드

중괄호를 사용해 변수를 삽입할 수 있습니다.

1
print("My name is {} and I am {} years old.".format(name, age))

인덱스의 기본

파이썬의 인덱스는 0부터 시작합니다. 첫 번째 문자의 인덱스는 0이고, 두 번째 문자는 1, 그리고 이런 식으로 계속됩니다. 문자열 인덱싱은 파이썬에서 문자열 내 특정 문자에 접근하는 방법입니다. 인덱싱은 문자열의 각 문자에 할당된 고유의 번호(인덱스)를 사용하여 이루어집니다.

1
2
3
word = "Python"
print(word[0])  # 'P', 첫 번째 문자
print(word[1])  # 'y', 두 번째 문자

음수 인덱싱

파이썬에서는 음수 인덱스도 사용할 수 있습니다. 음수 인덱스는 문자열의 끝에서부터 시작합니다. 예를 들어, -1은 마지막 문자를, -2는 끝에서 두 번째 문자를 나타냅니다.

1
2
print(word[-1])  # 'n', 마지막 문자
print(word[-2])  # 'o', 끝에서 두 번째 문자

인덱스 오류

존재하지 않는 인덱스에 접근하려고 하면 IndexError가 발생합니다. 예를 들어, 문자열의 길이를 넘어서는 인덱스에 접근하려고 할 때 이 오류가 발생합니다.

1
print(word[6])  # IndexError 발생, 'word'의 길이는 6이지만 인덱스는 0부터 시작하므로 5가 최대

인덱스를 사용한 문자열 조작

인덱스를 사용하면 문자열의 특정 부분을 추출하거나 조작할 수 있습니다. 이는 문자열의 불변성을 우회하여 새로운 문자열을 생성하는 데 사용됩니다.

1
2
3
4
5
6
7
# 문자열의 일부를 추출
substring = word[1:4]  # 'yth'
print(substring)

# 문자열의 일부를 변경 (불변성 때문에 새로운 문자열 생성)
new_word = word[0] + 'i' + word[2:]
print(new_word)  # 'Pithon'

인덱스와 문자열 슬라이싱

인덱스를 활용한 문자열 슬라이싱은 문자열의 부분집합을 추출하는 데 사용됩니다. [시작 인덱스:끝 인덱스] 형식을 사용하며, 시작 인덱스는 포함되고 끝 인덱스는 포함되지 않습니다.

1
print(word[2:5])  # 'tho', 인덱스 2에서 4까지의 문자

인덱스 생략

시작 인덱스나 끝 인덱스를 생략할 수 있습니다. 시작 인덱스를 생략하면 문자열의 처음부터, 끝 인덱스를 생략하면 문자열의 끝까지를 의미합니다.

1
2
print(word[:2])  # 'Py', 처음부터 인덱스 1까지
print(word[4:])  # 'on', 인덱스 4부터 끝까지

문자열 슬라이싱의 확장 - [::-1] 사용하기

문자열 슬라이싱에서 [::-1]은 문자열을 역순으로 만드는 데 사용됩니다. 이 표현은 [시작 인덱스:끝 인덱스:단계(step)] 형태의 슬라이싱을 활용한 것입니다. 여기서 단계는 문자를 건너뛰는 간격을 지정하며, -1은 뒤에서부터 한 글자씩 거꾸로 나아가라는 의미입니다.

예시 - 문자열 역순 만들기

1
2
3
word = "Python"
reversed_word = word[::-1]
print(reversed_word)  # 'nohtyP'

이 방식은 문자열을 거꾸로 뒤집을 때 매우 유용합니다.

단계값 활용하기

단계값(step)은 얼마나 많은 문자를 건너뛸지를 지정합니다. 예를 들어, [::2]는 한 글자씩 건너뛰어 문자를 추출하는 것을 의미합니다.

1
2
every_other = word[::2]  # 'Pto'
print(every_other)

단계값이 음수일 경우 문자열을 역순으로 처리합니다. -2는 뒤에서부터 두 글자씩 건너뛰는 것을 의미합니다.

1
2
reverse_every_other = word[::-2]  # 'nhy'
print(reverse_every_other)
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.