안녕하세요. 성조입니다.
이번 포스팅에서는 파이썬의 문자열 관련된 이론을 정리해 보는 시간을 가져봅니다.
부족한 지식 전달이나, 잘못된 정보가 있다면 언제든지 댓글로 피드백 주시면 감사드리겠습니다.
문자열 생성
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
오타나 궁금한 것이 있다면 최대한 아는 선에서 한 번 더 답변드릴 수 있도록 해보겠습니다.
언제든지 댓글 남겨주시길 바랍니다.
감사드립니다. 다음 포스팅 때 뵙겠습니다!
'Python 🐍 > Python' 카테고리의 다른 글
[Python] 내장 함수 isinstance이란? (0) | 2023.05.17 |
---|---|
[Python] 파이썬에 switch-case 문이 없는 이유. 그리고 with Python 3.10 match-case (0) | 2023.03.04 |
[Python] 동적 타이핑(Dynamic typing)언어 (0) | 2022.10.04 |
[Python] 주피터 노트북(Jupyter Notebook), 아나콘다(Anaconda) 설치 및 간단한 장단점 (1) | 2022.10.04 |
[Python] 파이썬 기본 자료형 정리 (0) | 2022.09.29 |