Please Enable JavaScript!
Gon[ Enable JavaScript ]

파이썬(Python) 문자열 데이터 타입과 연산자 사용하기

파이썬 Python
반응형

 

1. 문자열 생성과 기본 표현

문자열은 작은따옴표(' ')나 큰따옴표(" ")를 사용하여 생성할 수 있으며, 여러 줄 문자열은 세 개의 작은따옴표(''' ''')나 세 개의 큰따옴표(""" """)를 사용하여 생성할 수 있습니다.

str1 = 'Hello'
str2 = "World"
multiline_str = '''This is
a multiline
string.'''

설명: str1과 str2는 각각 작은따옴표와 큰따옴표로 생성된 문자열입니다. multiline_str은 여러 줄로 작성된 문자열이며, 작은따옴표 세 개(''' ''')를 사용하여 생성되었습니다.


 

2. 문자열 연산자

파이썬에서는 문자열을 조작할 수 있는 다양한 연산자를 제공합니다.

🔹 문자열 연결(+)

두 개의 문자열을 연결할 때 사용합니다.

str1 = "Hello"
str2 = "World"
result = str1 + " " + str2  # 결과: "Hello World"

설명: + 연산자는 두 문자열을 하나로 연결합니다. str1과 str2 사이에 공백을 추가하여 result 문자열을 생성합니다.

🔹 문자열 반복(``)

문자열을 여러 번 반복할 때 사용합니다.

str1 = "Hello"
result = str1 * 3  # 결과: "HelloHelloHello"

설명: * 연산자는 문자열을 반복하여 생성합니다. str1을 3번 반복하여 result에 저장합니다.

🔹 멤버십 연산자(in, not in)

특정 문자열이 다른 문자열에 포함되어 있는지 확인합니다.

str1 = "Hello World"
print("Hello" in str1)  # 결과: True
print("Python" not in str1)  # 결과: True

설명: in 연산자는 문자열에 특정 부분 문자열이 포함되어 있는지 확인하며, not in 연산자는 포함되지 않았는지 확인합니다.

🔹 인덱싱([])

문자열 내 특정 위치의 문자를 가져옵니다. 파이썬에서 문자열의 인덱스는 0부터 시작하며, 음수를 사용하여 뒤에서부터 접근할 수도 있습니다.

str1 = "Python"
print(str1[0])  # 결과: "P"
print(str1[-1])  # 결과: "n"

설명: [] 연산자를 사용해 문자열에서 특정 인덱스의 문자를 가져옵니다. str1[0]은 첫 번째 문자 "P"를 가져오고, str1[-1]은 마지막 문자 "n"을 가져옵니다.

🔹 슬라이싱([start:end:step])

문자열의 일부분을 가져올 때 사용합니다.

str1 = "Python Programming"
print(str1[0:6])  # 결과: "Python"
print(str1[7:])  # 결과: "Programming"
print(str1[::2])  # 결과: "Pto rgamn"

설명: 슬라이싱을 통해 문자열의 특정 범위나 간격으로 문자를 추출할 수 있습니다. str1[0:6]은 첫 6개 문자 "Python"을 가져오며, str1[::2]는 전체 문자열을 2 간격으로 추출해 "Pto rgamn"을 만듭니다.

🔹 비교 연산자 (==, !=, <, >, <=, >=)

두 문자열을 비교할 때 사용합니다. 파이썬에서는 사전순으로 비교를 수행합니다.

str1 = "apple"
str2 = "banana"
print(str1 == str2)  # 결과: False
print(str1 < str2)   # 결과: True

설명: 문자열 비교 연산자는 사전 순서를 기준으로 작동합니다. "apple"은 "banana"보다 앞에 위치하므로 str1 < str2는 True를 반환합니다.


 

3. 문자열 메서드

파이썬 문자열에는 문자열을 조작할 수 있는 여러 가지 메서드가 포함되어 있습니다.

🔹 대소문자 변경

  • upper(): 문자열을 대문자로 변환
  • lower(): 문자열을 소문자로 변환
  • capitalize(): 첫 번째 문자를 대문자로 변환
str1 = "hello world"
print(str1.upper())       # 결과: "HELLO WORLD"
print(str1.capitalize())  # 결과: "Hello world"

설명: upper() 메서드는 문자열을 모두 대문자로 변환하고, capitalize()는 첫 문자만 대문자로 변환합니다.

🔹 공백 제거

  • strip(): 문자열 양쪽 끝의 공백 제거
  • lstrip(): 문자열 왼쪽 끝의 공백 제거
  • rstrip(): 문자열 오른쪽 끝의 공백 제거
str1 = "   hello world   "
print(str1.strip())   # 결과: "hello world"

설명: strip() 메서드는 문자열의 양쪽 공백을 제거합니다. lstrip()은 왼쪽, rstrip()은 오른쪽 공백만 제거합니다.

🔹 부분 문자열 찾기

  • find(substring): 부분 문자열의 첫 번째 위치 반환, 없으면 -1
  • count(substring): 부분 문자열의 개수 반환
str1 = "hello world"
print(str1.find("world"))  # 결과: 6
print(str1.count("l"))     # 결과: 3

설명: find()는 부분 문자열의 시작 위치를 반환하고, count()는 문자열 내 부분 문자열의 개수를 반환합니다.

🔹 문자열 대체

  • replace(old, new): 문자열 내 특정 부분을 다른 문자열로 대체
str1 = "Hello World"
print(str1.replace("World", "Python"))  # 결과: "Hello Python"

설명: replace() 메서드는 문자열의 특정 부분을 다른 문자열로 대체합니다.

🔹 문자열 분리 및 결합

  • split(delimiter): 구분자를 기준으로 문자열을 나눠 리스트로 반환
  • join(iterable): 리스트 같은 반복 가능한 객체의 문자열 요소를 연결
str1 = "apple,banana,cherry"
fruits = str1.split(",")   # 결과: ["apple", "banana", "cherry"]

words = ["Hello", "World"]
sentence = " ".join(words)  # 결과: "Hello World"

설명: split()은 구분자를 기준으로 문자열을 나누고, join()은 리스트 요소를 하나의 문자열로 결합합니다.


 

4. 문자열의 불변성

파이썬 문자열은 불변(immutable) 자료형으로, 문자열을 생성한 이후에는 내용을 변경할 수 없습니다. 예를 들어, 문자열의 특정 인덱스의 값을 직접 변경할 수 없습니다.

str1 = "Hello"
# str1[0] = "h"  # 오류 발생: TypeError

설명: 문자열은 불변 자료형이므로 인덱스를 통해 값을 직접 수정할 수 없습니다. 이를 수정하려면 새로운 문자열을 생성해야 합니다.


반응형
Posted by 녹두장군1
,