파이썬 - 문자열: 초보자 가이드

안녕하세요, 미래의 파이썬 마법사들! ? 파이썬 문자열의 마법적인 세계에 몸을 던지러 가시나요? 코드를 한 줄도 작성한 적이 없다면 걱정하지 마세요 - 우리는 처음부터 시작하여 문자열 기술을 함께 키울 것입니다. 이 튜토리얼을 끝내면, 가장 뛰어난 이들과 함께 문자열을 처리할 수 있게 될 것입니다! 시작해보겠습니다!

Python - Strings

파이썬 문자열 생성

파이썬에서 문자열은 책 속 단어와 같습니다 - 텍스트를 나타내기 위해 사용하는 문자의 시퀀스입니다. 문자열을 만드는 것은 겹따옴표로 텍스트를 감싸는 것만큼 간단합니다. 몇 가지 예를 살펴보겠습니다:

# 단일 겹따옴표
my_string = 'こんにちは, 세계!'

# 이중 겹따옴표
another_string = "파이썬은 멋질어!"

# 겹따옴표 안에 겹따옴표를 사용할 수도 있습니다
mixed_string = "저는 파이썬을 배웁니다"

이 예제에서는 변수를 만들고 문자열 값을 할당하고 있습니다. 등号(=)는 "이 변수는 이제 이 문자열이다"고 말하는 것과 같습니다. 쉽죠?

문자열에서 값을 접근하기

이제 몇 가지 문자열을 만들었으니, 문자열 내에서 특정 문자를 접근하는 방법을 배워보겠습니다. 파이썬에서는 인덱싱을 사용하여 이를 할 수 있습니다. 문자열을 한 줄의 상자로 생각해보세요. 각 상자는 단일 문자를 포함하고 있으며, 상자는 0에서 시작하여 번호가 매겨집니다.

my_name = "앨리스"
#          01234

print(my_name[0])  # 출력: A
print(my_name[2])  # 출력: i
print(my_name[-1]) # 출력: e (음수 인덱싱은 끝에서 시작합니다)

여기서는 문자열 변수 뒤에 꺾쇠괄호([])를 사용하여 개별 문자에 접근하고 있습니다. 상자를 열어 내용을 확인하는 것과 같아요!

문자열 업데이트

재미있는 사실 하나: 파이썬에서 문자열은 불변입니다. 이는 문자열을 만든 후, 문자열 내 개별 문자를 변경할 수 없음을 의미합니다. 하지만 걱정하지 마세요! 기존 문자열을 기반으로 새로운 문자열을 만들 수 있습니다:

greeting = "こんにちは, 세계!"
new_greeting = greeting.replace("세계", "파이썬")
print(new_greeting)  # 출력: 인사, 파이썬!

이 예제에서는 replace() 메서드를 사용하여 "세계"를 "파이썬"으로 대체한 새로운 문자열을 만들고 있습니다. 문장의 복사본을 만들고 복사본에서 한 단어를 변경하는 것과 같아요.

이스케이프 문자

때로는 문자열에 특수 문자를 포함해야 합니다. 이스케이프 문자가 매우 유용합니다. 이스케이프 문자는 백슬래시()로 시작합니다:

print("그는 이렇게 말했습니다, \"파이썬은 재미있어요!\"")  # 출력: 그는 이렇게 말했습니다, "파이썬은 재미있어요!"
print("첫 번째 줄\n두 번째 줄")      # \n은 새 줄을 만듭니다
print("탭\t공간")                   # \t은 탭 스페이스를 만듭니다

이스케이프 문자는 특정 문자를 특별한 방식으로 처리하도록 파이썬에 알리는 비밀 코드입니다. 멋질지요?

문자열 특수 연산자

파이썬에는 문자열과 함께 작동하는 특수 연산자가 있습니다. 몇 가지를 살펴보겠습니다:

# 연결 (문자열 결합)
first_name = "존"
last_name = "도우"
full_name = first_name + " " + last_name
print(full_name)  # 출력: 존 도우

# 반복
응원 = "힙 " * 2 + "호ور레이!"
print(응원)  # 출력: 힙 힙 호ور레이!

# 슬라이싱
message = "파이썬은 놀라워"
print(message[7:9])  # 출력: is
print(message[:6])   # 출력: 파이썬
print(message[10:])  # 출력: 놀라워

이 연산자는 마법의 지팡이처럼, 몇 가지 문자로 문자열을 강력하게 조작할 수 있게 해줍니다!

문자열 포맷팅 연산자

문자열 포맷팅 연산자 %는 포맷된 문자열을 만드는 강력한 도구입니다. 템플릿에 다른 값들을 꽂아넣을 수 있는 것과 같습니다:

name = "앨리스"
age = 25
print("제 이름은 %s이며 저는 %d살입니다." % (name, age))
# 출력: 제 이름은 앨리스이며 저는 25살입니다.

여기서, %s는 문자열의 자리표시자이고, %d는 정수의 자리표시자입니다. % 연산자는 이 자리표시자에 우리가 제공하는 값을 채웁니다.

파이썬 문자열에서 이중 겹따옴표

이미 보았듯이, 문자열을 만들 때 단일이나 이중 겹따옴표를 사용할 수 있습니다. 하지만 문자열 내에 겹따옴표를 포함하려면 어떻게 해야 할까요? 이렇게 하면 됩니다:

# 단일 겹따옴표를 사용하여 이중 겹따옴표를 포함
message = '그는 이렇게 말했습니다, "파이썬은 멋질어요!"'

# 이중 겹따옴표를 사용하여 단일 겹따옴표를 포함
another_message = "그는 이렇게 말했습니다, '파이썬은 멋질어요!'"

print(message)
print(another_message)

단일과 이중 겹따옴표를 번갈아 사용하여 파이썬을 혼동시키지 않게 문자열 내에 인용 기호를 포함할 수 있습니다.

삼중 겹따옴표

삼중 겹따옴표는 여러 줄에 걸쳐 문자열을 만들거나 문자열 내에 단일과 이중 겹따옴표를 모두 포함할 때 매우 유용합니다:

long_message = """이것은 긴 메시지입니다
여러 줄에 걸쳐 있습니다.
단일(')과 이중(") 겹따옴표를 자유롭게 포함할 수 있습니다."""

print(long_message)

삼중 겹따옴표는 파이썬에 매우 큰 상자를 주는 것과 같아요, 상자에는 얼마나 복잡한 텍스트가 들어있던지 상관없어요!

파이썬 다중 줄 문자열

앞서 삼중 겹따옴표가 다중 줄 문자열을 만드는 방법을 보았습니다. 또 다른 예제를 살펴보겠습니다:

poem = '''
장미는 붉고,
백합은 파란색이고,
파이썬은 멋질고,
그리고 너도 멋질어!
'''

print(poem)

이것은 코드에 큰 블록의 텍스트를 포함할 때 매우 유용합니다.

문자열과 산술 연산자

전형적인 산술을 할 수는 없지만, 파이썬은 문자열과 산술 연산자를 사용하여 흥미로운 방식으로 작동할 수 있습니다:

# 덧셈 (연결)
greeting = "こんにちは" + " " + "세계"
print(greeting)  # 출력: 인사, 세계

# 곱셈 (반복)
echo = "에코 " * 3
print(echo)  # 출력: 에코 에코 에코

기억하세요, 문자열을 빼거나 나눌 수는 없습니다 - 그것은 어리석습니다!

파이썬 문자열의 타입 확인

때로는 우리가 작업하는 데이터의 유형을 확인하는 것이 유용합니다. type() 함수를 사용할 수 있습니다:

my_string = "こんにちは, 세계!"
print(type(my_string))  # 출력: <class 'str'>

이는 우리의 변수가 실제로 문자열(str)인지 확인합니다.

내장된 문자열 메서드

파이썬에는 문자열 작업을 위한TOOLBOX 가득한 내장된 메서드가 있습니다. 여기 몇 가지 가장 유용한 메서드를 살펴보겠습니다:

메서드 설명 예제
upper() 문자열을 대문자로 변환 "こんにちは".upper()"こんにちは"
lower() 문자열을 소문자로 변환 "WORLD".lower()"world"
strip() 시작과 끝의 공백을 제거 " hi ".strip()"hi"
replace() 하나의 서브 문자열을 다른 것으로 교체 "こんにちは".replace("こ", "さ")"さにちは"
split() 문자열을 리스트로 분할 "a,b,c".split(",")["a", "b", "c"]
join() 이터러블의 요소를 문자열로 연결 ",".join(["a", "b", "c"])"a,b,c"

이 메서드는 파이썬 TOOLBOX의 다른 도구들과 같아요 - 각 메서드는 문자열을 다르게 처리하는 데 도움을 줍니다!

내장된 함수와 문자열

마지막으로, 문자열과 잘 작동하는 몇 가지 내장된 파이썬 함수를 살펴보겠습니다:

# len() - 문자열의 길이를 반환합니다
print(len("파이썬"))  # 출력: 6

# str() - 다른 데이터 유형을 문자열로 변환합니다
number = 42
print("답은 " + str(number))  # 출력: 답은 42

# ord() - 문자의 유니코드 코드 포인트를 반환합니다
print(ord('A'))  # 출력: 65

# chr() - 유니코드 코드 포인트에 해당하는 문자를 반환합니다
print(chr(65))  # 출력: A

이 함수는 스위스 Army knife처럼 다양한 상황에서 도움이 될 수 있는 유용한 도구들입니다.

그리고 이렇게 끝납니다, 제가 젊은 파이썬 마법사들! 우리는 파이썬 문자열의 고난을 거쳐 끝까지 다녀왔습니다. 기억하세요, 연습이 열쇠입니다. 이 개념들을 실험해보세요. 알지 못하게 끝내, 이 코드를 파이썬에서 전문가처럼 처리할 수 있을 거예요! 코딩 잘 하세요! ??

Credits: Image by storyset