본문 바로가기
프로그래밍/파이썬(Python)

파이썬(Python) 문자열 다루기

by comflex 2022. 12. 30.
728x90
반응형

Python에서 문자열은 str 타입으로 정의됩니다. 문자열은 작은따옴표('')나 큰따옴표("")로 감싸서 정의할 수 있습니다.

# 작은따옴표로 정의한 문자열
string1 = 'Hello, World!'

# 큰따옴표로 정의한 문자열
string2 = "Hello, World!"

 

문자열은 인덱싱(indexing)과 슬라이싱(slicing)을 지원합니다. 인덱싱은 문자열의 각 문자에 접근하기 위한 기법으로, 인덱스를 사용해서 각 문자에 접근할 수 있습니다. 인덱스는 0부터 시작하며, 문자열의 길이만큼 접근 가능합니다. 예를 들어, 아래와 같이 인덱싱을 사용할 수 있습니다.

# 인덱싱 예제
string = "Hello, World!"
print(string[0])  # H
print(string[6])  # W
print(string[-1]) # !
print(string[-2]) # d
반응형

슬라이싱을 사용할 때는 시작 인덱스와 끝 인덱스 사이의 문자들을 잘라낼 수 있습니다. 아래와 같이 슬라이싱을 사용할 수 있습니다.

# 슬라이싱 예제
string = "Hello, World!"
print(string[2:5])  # llo
print(string[:5])   # Hello
print(string[7:])   # World!
print(string[-5:-1]) # orld

 

문자열에서 사용가능한 여러가지 연산자를 소개해드리겠습니다.

  • + 연산자: 문자열을 연결할 때 사용합니다.
string1 = "Hello"
string2 = "World"
string3 = string1 + ", " + string2
print(string3)  # "Hello, World"

 

  • * 연산자: 문자열을 반복할 때 사용합니다.
string = "Hello"
print(string * 3)  # "HelloHelloHello"

 

  • in 연산자: 문자열에 특정 문자열이 포함되어 있는지 확인할 때 사용합니다.
string = "Hello, World!"
print("Hello" in string)  # True
print("hi" in string)  # False

 

  • not in 연산자: 문자열에 특정 문자열이 포함되어 있지 않은지 확인할 때 사용합니다.
string = "Hello, World!"
print("Hello" not in string)  # False
print("hi" not in string)  # True

 

  • len(string): 문자열의 길이를 반환합니다.
string = "Hello, World!"
print(len(string))  # 13

 

  • str.lower(): 문자열을 소문자로 변환합니다.
string = "Hello, World!"
print(string.lower())  # "hello, world!"

 

  • str.upper(): 문자열을 대문자로 변환합니다.
string = "Hello, World!"
print(string.upper())  # "HELLO, WORLD!"

 

  • str.strip(): 문자열의 양쪽 끝에 있는 공백을 제거합니다.
string = "    Hello, World!    "
print(string.strip())  # "Hello, World!"

 

  • str.replace(old, new): 문자열에서 특정 문자열을 찾아 다른 문자열로 대체합니다.
string = "Hello, World!"
print(string.replace("World", "Python"))  # "Hello, Python!"

 

  • str.split(sep): 문자열을 특정 구분자(sep)로 나누어 리스트로 반환합니다.
string = "Hello, World!"
print(string.split(","))  # ["Hello", " World!"]
  • f-string을 사용할 때는 {} 안에 삽입할 값의 위치와 삽입할 값을 지정할 수 있습니다.
name = "John"
age = 30

# 삽입할 값의 위치 지정
string = f"My name is {name}, and I am {age} years old."
print(string)  # "My name is John, and I am 30 years old."

# 삽입할 값 지정
string = f"My name is {name.upper()}, and I am {age * 2} years old."
print(string)  # "My name is JOHN, and I am 60 years old."

 

  • str.startswith(prefix): 문자열이 특정 문자열(prefix)로 시작하는지 확인합니다.
string = "Hello, World!"
print(string.startswith("Hello"))  # True
print(string.startswith("Hi"))  # False

 

  • str.endswith(suffix): 문자열이 특정 문자열(suffix)로 끝나는지 확인합니다.
string = "Hello, World!"
print(string.endswith("World!"))  # True
print(string.endswith("world!"))  # False

 

  • str.find(sub): 문자열에서 특정 문자열(sub)이 처음으로 나타나는 위치를 반환합니다. 찾지 못한 경우 -1을 반환합니다.
string = "Hello, World!"
print(string.find("o"))  # 4
print(string.find("x"))  # -1

 

str.index(sub): 문자열에서 특정 문자열(sub)이 처음으로 나타나는 위치를 반환합니다. 찾지 못한 경우 ValueError가 발생합니다.

string = "Hello, World!"
print(string.index("o"))  # 4

# 찾지 못한 경우 ValueError가 발생합니다.
# print(string.index("x"))  # ValueError: substring not found

 

  • str.isalpha(): 문자열이 알파벳으로만 이루어져 있는지 확인합니다.
string = "Hello"
print(string.isalpha())  # True

string = "Hello123"
print(string.isalpha())  # False

 

  • str.isdigit(): 문자열이 숫자로만 이루어져 있는지 확인합니다.
string = "123"
print(string.isdigit())  # True

string = "123abc"
print(string.isdigit())  # False

 

  • str.isalnum(): 문자열이 알파벳과 숫자로만 이루어져 있는지 확인합니다.
string = "abc123"
print(string.isalnum())  # True

string = "abc123!"
print(string.isalnum())  # False

 

2023.02.08 - [프로그래밍/파이썬(Python)] - 파이썬(Python) 개발 환경 설치

 

파이썬(Python) 개발 환경 설치

아나콘다(Anaconda) 설치 Anaconda는 파이썬을 포함한 다양한 데이터 과학 도구들을 간편하게 설치할 수 있는 배포판입니다. 이는 파이썬의 개발 환경을 구축하는데 편리합니다. 또한, 패키지 관리자

com-flex.tistory.com

2023.02.14 - [프로그래밍/파이썬(Python)] - 파이썬(Python) 아나콘다(Anaconda) 가상환경 설정

 

파이썬(Python) 아나콘다(Anaconda) 가상환경 설정

아나콘다(Anaconda)는 파이썬 데이터 과학 및 머신 러닝 작업을 쉽게 관리하고 실행할 수 있는 오픈소스 플랫폼입니다. 가상환경을 설정하면 서로 다른 파이썬 패키지와 버전을 사용할 수 있어 프

com-flex.tistory.com

 

728x90
반응형