파이썬 - 문자열: 초보자 가이드
안녕하세요, 미래의 파이썬 마법사들! ? 파이썬 문자열의 마법적인 세계에 몸을 던지러 가시나요? 코드를 한 줄도 작성한 적이 없다면 걱정하지 마세요 - 우리는 처음부터 시작하여 문자열 기술을 함께 키울 것입니다. 이 튜토리얼을 끝내면, 가장 뛰어난 이들과 함께 문자열을 처리할 수 있게 될 것입니다! 시작해보겠습니다!
파이썬 문자열 생성
파이썬에서 문자열은 책 속 단어와 같습니다 - 텍스트를 나타내기 위해 사용하는 문자의 시퀀스입니다. 문자열을 만드는 것은 겹따옴표로 텍스트를 감싸는 것만큼 간단합니다. 몇 가지 예를 살펴보겠습니다:
# 단일 겹따옴표
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