파이썬 기초 – 6장. 문자열 자료형(str) 고급

오늘은 지난번 학습한 자료형 기초를 바탕으로, 다양한 메서드를 활용, 메소드 체이닝 등 고급 기능에 대해 알아보도록 하겠습니다. 혹시 파이썬 문자열 자료형을 처음 접하신 분은 지난 글을 먼저 읽고 오시기 바랍니다!

파이썬 기초 – 5장. 문자열 자료형(str) 기초

1. 파이썬 문자열 자료형 – 메소드 활용법

파이썬 문자열 메서드란, 파이썬에서 문자열을 다루는데 사용되는 여러 가지 함수들을 말합니다. 이러한 메서드들은 문자열을 조작하거나 변환하는데 사용되며, 문자열 내에서 특정한 작업을 수행할 수 있도록 도와줍니다.

문자열 메서드를 사용하여 문자열을 분리하거나 결합하거나 검색하거나 수정하는 등 다양한 작업을 수행할 수 있습니다. 이들 메서드를 활용하면 문자열을 효율적으로 다룰 수 있습니다. 문자열 메소드는 문자열로 할당 된 변수와 콤마를 이용하여 호출합니다.

메서드설명
.len()문자열의 길이 반환
.lower()문자열을 소문자로 변환
.upper()문자열을 대문자로 변환
.strip()문자열의 양 끝 공백 제거
.replace()문자열 내의 특정 문자 치환
.split()문자열을 지정된 구분자로 분리
.join()문자열 리스트를 지정된 구분자로 결합
.startswith()특정 문자열로 시작하는지 여부 확인
.endswith()특정 문자열로 끝나는지 여부 확인
.find()문자열 내에서 특정 문자/부분문자열 위치 검색
.count()문자열 내에서 특정 문자/부분문자열 개수 세기
.isdigit()문자열이 숫자인지 여부 확인
.isalpha()문자열이 알파벳 문자인지 여부 확인
예시 코드를 작성해 보았습니다. 메서드 이름이 대부분 직관적으로 설명이 되어 있어 실제 코드를 작성하며 실습해 본다면 익히는데 어렵진 않을 것이라고 생각됩니다.

위에 표시 된 메서드 외에도 정말 많은 기능이 있기 때문에, 이런 기능이 있다고 인지하는 정도로 넘어가시고 필요한 문자열 처리가 생기면 googling을 통해 찾아가는 방식이 빠르게 프로그래밍 실력이 높아지는 비결입니다!

# 문자열 길이 반환
text = "Hello, World!"
length = len(text)

# 문자열을 소문자로 변환
text = "Hello"
lower_text = text.lower()

# 문자열을 대문자로 변환
text = "Hello"
upper_text = text.upper()

# 문자열의 양 끝 공백 제거
text = "   Hello   "
stripped_text = text.strip()

# 문자열 내의 특정 문자 치환
text = "Hello, World!"
new_text = text.replace("Hello", "Hi")

# 문자열을 지정된 구분자로 분리
text = "apple,banana,orange"
fruits = text.split(",")

# 문자열 리스트를 지정된 구분자로 결합
fruits = ["apple", "banana", "orange"]
text = ", ".join(fruits)

# 특정 문자열로 시작하는지 여부 확인
text = "Hello, World!"
result = text.startswith("Hello")

# 특정 문자열로 끝나는지 여부 확인
text = "Hello, World!"
result = text.endswith("!")

# 문자열 내에서 특정 문자/부분문자열 위치 검색
text = "Hello, World!"
position = text.find("World")

# 문자열 내에서 특정 문자/부분문자열 개수 세기
text = "Hello, Hello, Hello"
count = text.count("Hello")

# 문자열이 숫자인지 여부 확인
text = "12345"
result = text.isdigit()

# 문자열이 알파벳 문자인지 여부 확인
text = "Hello"
result = text.isalpha()

위에 메서드 중에서 is로 시작하는 메서드는 대부분 반환값으로 true, false를 반환합니다. 앞으로 만날 다양한 함수의 네이밍도 유사한 규칙을 따르고 있으니 참고하시면 좋을 것 같습니다!

2. 메서드 체이닝

문자열의 메서드 체이닝은 한 줄의 코드에서 여러 개의 문자열 메서드를 연속적으로 호출하는 기법을 말합니다. 이를 통해 코드를 간결하게 작성하고 여러 단계의 문자열 처리 작업을 한 줄에 연결하여 수행할 수 있습니다. 각 메서드는 이전 메서드의 결과에 대해 실행되며, 연속적으로 적용되는 특징을 가지고 있습니다.

메서드 체이닝을 사용하면 각 단계마다 중간 결과를 변수에 저장하거나 중간 단계의 임시 변수 없이도 여러 작업을 한 줄에 효율적으로 수행할 수 있습니다. 이로써 코드를 보다 간결하고 가독성 높게 작성할 수 있습니다.

아래의 예시를 참고하시기 바랍니다.

# 예시 1: 대소문자 변환 후 공백 제거
text1 = "   Hello, World!   "
formatted_text1 = text1.strip().lower()  # "hello, world!" (공백 제거 및 소문자로 변환)

# 예시 2: 문자열 분리 후 특정 단어 개수 세기
sentence = "Python은 프로그래밍 언어로서 Python"
count_python = sentence.split().count("Python")  # 2 ("Python" 단어의 개수)

# 예시 3: 문자열 치환 후 소문자로 변환
message = "Hello, World!"
formatted_message = message.replace("Hello", "Hi").lower()  # "hi, world!" (치환 후 소문자로 변환)

# 예시 4: 여러 메서드 체이닝
data = "   1, 2, 3, 4, 5   "
cleaned_data = data.strip().replace(" ", "").split(",")  # ['1', '2', '3', '4', '5'] (공백 제거 및 분리)

# 모든 예시 결과 출력
print("예시 1 결과:", formatted_text1)
print("예시 2 결과:", count_python)
print("예시 3 결과:", formatted_message)
print("예시 4 결과:", cleaned_data)

오늘은 파이썬 문자열 자료형의 다양한 메서드를 알아보고, 체이닝을 통해 가독성 높은 코드를 작성하는 고급 기능을 공부하였습니다. 데이터 분석에서 가장 중요한 자료형이니 만큼, 눈으로만 보기 보다는 꼭 한번은 실습을 해보기를 권장 드립니다.

이번 포스팅으로 문자열 자료형은 끝내고 다음주에는 또다른 자료형을 알려 드리도록 하겠습니다.
감사합니다. “끝”

Leave a Comment