Python 🐍/Python

[Python] 파이썬 문자열 정리

SeongJo 2023. 3. 11. 13:00
반응형

안녕하세요. 성조입니다.

이번 포스팅에서는 파이썬의 문자열 관련된 이론을 정리해 보는 시간을 가져봅니다.

 

부족한 지식 전달이나, 잘못된 정보가 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다.


문자열 생성

str1 = 'Hello, World!'
str2 = "Python을 천천히 배워봅시다."
print(str1)
print(str2)

파이썬에서 문자열을 생성하는 방법은 매우 간단하다. 작은 따옴표('') 사이에 문자를 작성하나, 큰 따옴표("") 사이에 문자를 작성하면 문자열을 생성할 수 있다.

 

 

 

문자열 연결

'+'를 활용한 방법

str1 = '안녕,'
str2 = ' Python!'
print(str1 + str2)  # 출력: 안녕, Python!

'+' 연산자를 활용하여 다음과 같이 문자열을 합쳐낼 수 있다. 

문자열 + 문자열 + 문자열 = 3개 모두 합쳐진 문자열

 

 

join을 활용한 방법

str_list = ['Hello', 'World!']
print(' '.join(str_list))  # 출력: 'Hello World!'

join() 메소드를 활용하면 리스트의 요소 사이에 문자열을 삽입하여 연결할 수 있다.

 

 

 

문자열 반복하기

str = 'Hello!'
print(str * 3)  # 출력: Hello!Hello!Hello!

'*' 연산자를 문자열과 [문자열 * 3(반복 할 횟수)] 사용하면 횟수만큼 반복할 수 있다.

 

 

 

문자열 인덱싱 및 슬라이싱

str = 'Python'
print(str[0])  # 출력: P
print(str[0] + str[-1])  # 출력: Pn
print(str[2:4])  # 출력: th

특정 부분을 선택하려면 인덱싱 또는 슬라이싱을 활용할 수 있다.

인덱싱과 슬라이싱에 대한 자세한 설명은 향후 포스팅에서 정리해 보려 한다.

 

 

문자열 포맷팅

더 많고 다양한 내용이 존재할 수 있다.

이 포스팅에서는 이 정도의 케이스가 있다 정도로 가볍게 언급하고 지나갈 예정이다.

 

case 1)

menu = 'Food'
print('맛있겠다! %s' % Food)  # 출력: '맛있겠다! Food'

C언어의 printf와 유사한 스타일 방식이다.

 

 

case 2) - Python 2.6 버전 이상 지원

name = '성조'
job = 'developer'
print('안녕 나는 {}라고 하고, 직업은 {}이야.'.format(name, job))  # 출력: '안녕 나는 성조라고 하고, 직업은 developer이야.'

 

 

case 3) - Python 3.6 버전 이상 지원

name = '성조'
weight = 73
print(f'{name}의 몸무게는 {weight}이다.')  # 출력: '성조의 몸무게는 73이다.'

 

 

응용

a = 100
b = 20
print(f'{a} * {b}은 {a * b}이다.')  # 출력: '100 * 20은 2000이다.'

 

 

 

문자열 메소드

str = ' Hello, World! '

# upper(): 문자열 대문자로 변환.
print(str.upper())  # 출력: ' HELLO, WORLD!'

# lower(): 문자열 소문자로 변환.
print(str.lower())  # 출력: ' hello, world!'

# capitalize(): 첫 글자만 대문자로 만들고 나머지는 소문자로 변환.
print(str.capitalize())  # 출력: 'Hello, world!'

# title(): 각 단어의 첫 글자만 대문자로 변환.
print(str.title())  # 출력: 'Hello, World!'

# strip(): 문자열 양쪽의 공백을 제거.
# lstrip(): 문자열 왼쪽의 공백을 제거.
# rstrip(): 문자열 오른쪽의 공백을 제거.
print(str.strip())  # 출력: 'Hello, World!'
print(str.lstrip())  # 출력: 'Hello, World! '
print(str.rstrip())  # 출력: ' Hello, World!'


print(str.replace('World', 'Python'))  # 출력: 'Hello, Python!'

# split(delimiter): delimiter를 기준으로 문자열 분할.
print(str.split(','))  # 출력: ['Hello', 'World!']

# len(문자열): 문자열 길이 구하기.
print(len(str))  # 출력: 13

# count('문자'): 문자열에서 특정 문자 개수 세기
print(str.count('o'))  # 출력: 2

# 특정 문자 위치 찾기
print(str.find('o'))  # 출력: 4
print(str.index('World'))  # 출력: 7

# 문자열을 숫자로 변환하기
str_num = '123'
print(int(str_num))  # 출력: 123
str_float = '123.45'
print(float(str_float))  # 출력: 123.45

코드에 각각 달아놓은 주석을 참고하면 된다.

 

 

그래도 혹시 모르니 참고용 자료를 작성한다.

upper(): 문자열 대문자로 변환.
lower(): 문자열 소문자로 변환.
capitalize(): 첫 글자만 대문자로 만들고 나머지는 소문자로 변환.
title(): 각 단어의 첫 글자만 대문자로 변환.
# strip(): 문자열 양쪽의 공백을 제거.
# lstrip(): 문자열 왼쪽의 공백을 제거.
# rstrip(): 문자열 오른쪽의 공백을 제거.
# replace(): 문자열 내에서 특정 문자열 또는 다른 문자나 문자열로 대체하는 메소드이다.
# split(delimiter): delimiter를 기준으로 문자열 분할.
# len(문자열): 문자열 길이 구하기.
# count('문자'): 문자열에서 특정 문자 개수 세기
# 특정 문자 위치 찾기 find or index
# 문자열을 숫자로 변환하기 정수와 실수

 

 

 

문자열 내부의 문자열 확인하기

str = 'Hello, Python!'
print('Hello' in str)  # 출력: True
print('Python' not in str)  # 출력: False

 

 


오타나 궁금한 것이 있다면 최대한 아는 선에서 한 번 더 답변드릴 수 있도록 해보겠습니다.

언제든지 댓글 남겨주시길 바랍니다.

감사드립니다. 다음 포스팅 때 뵙겠습니다!

 

반응형