Python 문자열 예제: 초보자의 가이드
안녕하세요, Python 프로그래머를 꿈꾸는 여러분! 여러분의 이 흥미로운 Python 문자열 세계로의 여행을 안내해 드리게 되어 기쁩니다. 여러년간 프로그래밍을 가르치고 있는 사람으로서, 문자열은 코딩의 빵과 버터 같다고 말할 수 있습니다 - 자주 사용하게 될 것입니다! 그럼, 소매를 툭툭 씻고 바로 시작해보겠습니다.
문자열이란 무엇인가요?
연습을 시작하기 전에, 문자열이란 무엇인지 빠르게 정리해 보겠습니다. Python에서는 문자열은 작은따옴표('')이나 큰따옴표("")으로 감싸인 문자의 시퀀스입니다. 문자, 숫자, 기호가 모두 함께串겨진 목걸이 같습니다.
예를 들어:
greeting = "Hello, World!"
name = 'Alice'
greeting
과 name
모두 문자열입니다. 쉽죠?
예제 1: 문자열 생성과 연결
간단한 것부터 시작해보겠습니다. 몇 가지 문자열을 만들고 이를 연결해 보겠습니다.
first_name = "John"
last_name = "Doe"
full_name = first_name + " " + last_name
print(full_name)
이 코드를 실행하면 다음과 같이 출력됩니다:
John Doe
이게 무슨 일이 일어났나요? 두 개의 문자열 first_name
과 last_name
을 만들었고, +
연산자를 사용하여 이를 연결했습니다. 또한, 사이에 공백 " "를 추가하여 예쁘게 보이게 했습니다.
예제 2: 문자열 길이
이제 우리의 문자열이 얼마나 긴지 확인해 보겠습니다. Python에서는 이를 위해 len()
함수를 사용합니다.
message = "Python is awesome!"
length = len(message)
print("The message has", length, "characters.")
출력:
The message has 20 characters.
len()
함수는 문자열의 모든 문자를 세어줍니다. 여기에는 공백과 문장 부호도 포함됩니다. "이 목걸이에 몇 개의 비숍이 있니?"라고 묻는 것과 같습니다.
예제 3: 문자열에서 문자에 접근
Python의 문자열은 문자의 리스트처럼 동작하며, 인덱스를 사용하여 개별 문자에 접근할 수 있습니다. Python은 제로 기반 인덱스를 사용하므로, 첫 번째 문자는 인덱스 0에 있습니다.
word = "Python"
first_char = word[0]
last_char = word[-1]
print("First character:", first_char)
print("Last character:", last_char)
출력:
First character: P
Last character: n
여기서, word[0]
는 첫 번째 문자를 주고, word[-1]
은 마지막 문자를 주합니다. 한 줄의 사람들처럼 생각해보세요 - 앞에 있는 사람은 0이고, 뒤에서 부터 음수로倒数할 수 있습니다.
예제 4: 문자열 슬라이싱
슬라이싱은 문자열의 일부를 추출할 수 있게 합니다. 케이크에서 슬라이스를 깎는 것과 같습니다!
sentence = "The quick brown fox jumps over the lazy dog"
words = sentence[4:15]
print(words)
출력:
quick brown
sentence[4:15]
문법은 "인덱스 4에서 시작하여 인덱스 15를 포함하지 않고 끝나는 문자들을 주세요"라는 의미입니다. "이 문장의 이 부분을 주세요!"라고 말하는 것과 같습니다.
예제 5: 문자열 메서드
Python은 문자열을 조작하기 위해 많은 내장 메서드를 제공합니다. 몇 가지를 살펴보겠습니다:
메서드 | 설명 |
---|---|
upper() | 문자열을 대문자로 변환 |
lower() | 문자열을 소문자로 변환 |
strip() | 시작과 끝의 공백을 제거 |
replace() | 하나의 서브 문자열을 다른 것으로 교체 |
split() | 문자열을 서브 문자열의 리스트로 분할 |
이제 해보겠습니다:
text = " Hello, World! "
print(text.upper())
print(text.lower())
print(text.strip())
print(text.replace("Hello", "Goodbye"))
print(text.split(","))
출력:
HELLO, WORLD!
hello, world!
Hello, World!
Goodbye, World!
[' Hello', ' World! ']
이 각 메서드는 문자열을 다르게 변환합니다. 텍스트 조작을 위한 스위스 아ーミ프리 트위스트나 같습니다!
예제 6: 문자열 포매팅
문자열 포매팅은 동적 내용을 포함한 문자열을 생성할 수 있는 강력한 기능입니다. Python에서 이를 위한 여러 방법이 있지만, 우리는 강력하고 쉽게 읽을 수 있는 f-string 방법에 집중하겠습니다.
name = "Alice"
age = 30
height = 1.65
info = f"Name: {name}, Age: {age}, Height: {height:.2f}m"
print(info)
출력:
Name: Alice, Age: 30, Height: 1.65m
f-string(포맷된 문자열 리터럴)은 'f'로 시작합니다. 문자열 내부에서 중괄호 {} 안에 표현식을 포함할 수 있습니다. 이 표현식은 실행 시간에 평가되고, 문자열 표현식은 문자열에 삽입됩니다. {height:.2f}
에서 .2f
는 높이를 2자리 소수점으로 표시하라는 것을 의미합니다.
예제 7: 서브 문자열 검색
종종 문자열에 특정 서브 문자열이 포함되어 있는지 확인해야 합니다. in
연산자는 이를 쉽게 만듭니다:
sentence = "The quick brown fox jumps over the lazy dog"
print("fox" in sentence)
print("cat" in sentence)
출력:
True
False
이는 특정 단어가 문장에 숨겨져 있는지 확인하는 단어 검색 게임과 같습니다.
예제 8: 계수 및 검색
Python의 문자열 메서드에는 count()
를 사용하여 서브 문자열의 등장 횟수를 계수하고, find()
를 사용하여 서브 문자열의 위치를 찾는 것이 포함됩니다.
text = "She sells seashells by the seashore"
print(text.count("se"))
print(text.find("seashore"))
출력:
3
24
count()
는 "se"가 문자열에 몇 번 등장하는지를 알려주고, find()
는 "seashore"의 시작 인덱스를 주합니다. 서브 문자열이 발견되지 않으면 find()
는 -1을 반환합니다.
결론
축하합니다! 여러분은 Python 문자열 예제를 빠르게 통과했습니다. 우리는 생성, 연결, 길이, 인덱싱, 슬라이싱, 메서드, 포매팅, 검색을 다루었습니다. 이는 여러분이 작성할 거의 모든 Python 프로그램에서 사용할 기본 기술입니다.
기억해주세요, 이 개념을 마스터하기 위한 키는 연습입니다. 여러분만의 문자열을 만들고 다양한 메서드를 실험해 보세요. 실수하지 마세요 - 그들은 종종 가장 좋은 교사입니다!
Python 여행을 계속하면서, 문자열을 처리하는 더 강력한 방법을 발견하게 될 것입니다. 하지만 지금은 자신에게 박수를 쳐보세요. 여러분은 프로그래밍 모험에서 큰 걸음을 내딛었습니다!
코딩을 즐겁게, 여러분의 문자열이 항상 잘 포맷되길 바랍니다!
Credits: Image by storyset