이번 포스팅에선 Python의 자료형 중 하나인 문자열(String), 문자열을 처리할 수 있는 인덱싱(Indexing), 슬라이싱(Slicing), 문자열 처리에 대한 여러 가지 함수에 대해 알아보겠습니다.
1. 수 - 정수형(Integer), 실수형(Float), 복소수(Complex number)
2. 문자열(String)
3. Boolean 타입 (True, False)
4. 리스트(List)
5. 튜플(Tuple)
6. 딕셔너리(Dictionary)
7. 집합(Set)
1. 문자열(String)
- 문자열(String) 자료형이란, 하나 이상 연속된 문자들의 나열을 의미합니다.
- 작은 따옴표(') 또는 큰 따옴표(")로 묶어서 문자열을 나타낼 수 있습니다.
# 문자열을 큰 따옴표로 묶은 경우
a = "Python is fun"
print(a) # Python is fun
1-2. 문자열 안에 작은 따옴표 또는 큰 따옴표 추가하기
- 작은 따옴표 추가 : \'
- 큰 따옴표 추가 : \"
# 작은 따옴표로 묶고 한 번 더 작은 따옴표를 사용한 경우
b = 'Python\'s fun'
c = "\"wonjun\""
print(b) # Python's fun
print(c) # "wonjun"
1-3. 문자열 이스케이프(Escape) 코드
- 문자열에서 여러 줄의 문장을 처리할 때 유용하게 사용된다. 대표적으로 \n, \t가 있다.
(1) \n : 문자열 마지막에 사용 시, 해당 코드를 기준으로 줄 바꿈 시행
(2) \t : 문자열 마지막에 사용 시, 해당 코드를 기준으로 탭 간격 띄어쓰기 시행
# 이스케이프 코드 \n
b = 'Life is too short \n you need python.'
print(b)
'''Life is too short
you need python.'''
2. 문자열 자료형의 여러 가지 특징
- 문자열끼리 더하기(Concatenation)가 가능하다.
- 동일한 문자열을 반복할 수 있다.
- 파이썬은 문자열 자료형에 대해 인덱싱(Indexing)과 슬라이싱(Slicing)을 지원한다.
2-1. 문자열끼리 더하기(Concatenation)
# 문자열끼리 더하기
a = "Python "
b = "is powerful"
print(a + b) # Python is powerful
2-2. 문자열 반복
# 문자열 반복하기
a = "python "
print(a * 10) # python python python python python python python python python python
3. 문자열 인덱싱(Indexing)
3-1.
- 문자열 인덱싱(Indexing)에서 0번 째 인덱싱은 첫 번째 문자를 나타낸다.
- 오른쪽으로 갈수록 인덱스 카운트가 증가한다.
a = "python is powerful language."
print(a[0]) # p
print(a[3]) # e
3-2.
- 인덱스 넘버가 -1인 경우 0번 째 인덱스를 기준으로 역순이다.
- 인덱스 카운트가 음수인 경우 왼쪽으로 갈수록 인덱스 카운트가 감소한다.
a = "python is powerful language."
print(a[-1]) # .
print(a[-2]) # e
3-3.
- 공백 문자도 인덱싱에 포함된다.
a = "python is powerful language."
print(a[6]) #
4. 문자열 슬라이싱(Slicing)
- 특정 문자열 내에서 구간을 정하고, 그 구간에 해당하는 값을 잘라내어 추출하는 것을 의미한다.
- 문법 : 문자열이 저장된 변수명[n:m:s]
- n : 슬라이싱 시작 위치 / m : 슬라이싱 끝 범위(미만) / s : 슬라이싱 간격
4-1.
- s가 공백이면, 슬라이싱 간격없이 모두 슬라이싱한다.
a = "python is powerful language."
print(a[0:5:]) # pytho
4-2.
- n이 공백이면, 첫 번째 문자열부터 슬라이싱한다.
a = "python is powerful language."
print(a[:7:2]) # pto
4-3.
- m이 공백이면 전체 문자열을 슬라이싱한다.
a = "python is powerful language."
print(a[0::]) # python is powerful language.
4-4.
- 공백 문자도 슬라이싱에 포함된다.
a = "python is powerful language."
print(a[0:7:6]) # p
4-5.
- 슬라이싱에서도 음수값을 줄 수 있으며 왼쪽부터 읽는다.
b = "1234567890"
print(b[::-2]) # 08642
5. 문자열 Formatting(형식화)
- 파이썬에서는 복잡한 형태의 문자열을 출력하기 위해서 형식화 기능을 지원합니다.
- 다음과 같이 두 가지 방법으로 형식화할 수 있습니다.
5-1. 형식 지정자 %를 사용하여 Formatting
- 다수의 문자열 형식화가 필요한 경우 % 옆에 () 괄호를 이용하여 표기
- 문자열 포맷팅 코드로는 대표적으로 %d(정수), %f(실수), %s(문자열), %c(문자)가 있다.
a = "나의 이름은 %s이고 나이는 %d살입니다." % ("wonjun", 25)
print(a) # 나의 이름은 wonjun이고 나이는 25살입니다.
아래와 같이 변수로도 형식화할 수 있습니다.
# 1. 변수로 지정해 줄 수도 있다.
name = "wonjun"
age = 25;
a = "나의 이름은 %s이고 나이는 %d살입니다." %(name, age)
print(a) # 나의 이름은 wonjun이고 나이는 25살입니다.
5-2. format() 함수를 사용하는 방법 (매개변수 사용)
- 문법 : .format(var1, var2, ... var n)
#2. format() 메서드를 사용하는 방법 (변수로 지정)
name = "wonjun"
age = 25
a = "나의 이름은 {}이고 나이는 {}살입니다." .format(name, age)
print(a) # 나의 이름은 wonjun이고 나이는 25살입니다.
5-3.) 소수점을 표현하는 방법
- 문법 : %.nf : 소수점 n자리까지 표현 가능
a = "원주율 PI는 %.2f입니다." % 3.141592
print(a) # 원주율 PI는 3.14입니다.
6. 문자열(String)을 처리할 수 있는 여러 가지 함수
6-1.
- count() : 문자열에서 특정 문자값의 개수를 반환하는 함수
- 문법 : 문자열이 저장된 변수명.count()
# count()
a = "Hi Python! my name is wonjun."
print(a.count("n")) # 4
print(a.count(".")) # 1
6-2.
- find() : 문자열에서 특정 문자, 문자열의 개수를 반환하는 함수
- 문법 : 문자열이 저장된 변수명.find("특정 문자 또는 문자열")
- 매개변수로 들어간 문자를 탐색할 수 없는 경우 -1을 반환합니다.
# find()
a = "Hi Python! my name is wonjun."
print(a.find(".")) # 28
print(a.find("P")) # 3
# 탐색할 수 없는 문자열에 대해선 -1 반환
print(a.find("x")) # -1
6-3.
- join() : 특정 문자값을 기준으로 join 함수의 매개변수로 들어간 문자열에 대하여 문자 하나 하나 사이에 특정 문자값을 삽입하는 함수
- 문법 : 삽입할 문자열의 변수명.join(문자열이 저장된 변수명)
# join()
a = "."
b = "Python"
print(a.join(b)) # P.y.t.h.o.n
6-4.
- upper() : 소문자로 이루어진 문자열을 대문자로 반환하는 함수
- 문법 : 문자열이 저장된 변수명.upper()
# upper()
a = "python is fun"
print(a.upper()) # PYTHON IS FUN
6-5.
- lower() : 대문자로 이루어진 문자열을 소문자로 반환하는 함수
- 문법 : 문자열이 저장된 변수명.lower()
# lower()
a = "python is fun"
print(a.lower()) # python is fun
6-6.
- replace() : 특정 문자열을 다른 문자열로 바꾼 후 반환하는 함수
- 문법 : 문자열이 저장된 변수명.replace("변경 대상 문자열", 변경할 문자열")
# replace()
a = "Java source code is short"
print(a.replace('Java', 'Python')) # Python is too long source code.
6-7.
- split() : 특정 문자열을 공백 기준으로 나누어 리스트(List)에 저장한 후 반환하는 함수
- 문법 : 문자열이 저장된 변수명.split()
# split()
a = "Java source code is short"
print(a.split()) # ['Java', 'source', 'code', 'is', 'short']
6-8.
- strip() : 문자열의 양쪽 공백을 제거하는 함수
- 문법 : 문자열이 저장된 변수명.strip()
# strip()
a = " python is fun "
print(a.strip()) # python is fun
이번 포스팅에선 Python의 데이터 타입 중 하나인 문자열(String) 자료형에 대해 알아보았습니다.
다음 포스팅에선 리스트(List) 자료형에 대해 알아보겠습니다.
======================================================================
해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있습니다.
이에 대해 지적해 주시면 감사하겠습니다.
'백엔드(Back-End) > Python' 카테고리의 다른 글
[Python] - 자료형 - 딕셔너리(Dictionary) (0) | 2022.08.15 |
---|---|
[Python] - 자료형 - 튜플(Tuple) (0) | 2022.08.15 |
[Python] - 자료형 - 리스트(List) (0) | 2022.08.15 |
[Python] - 자료형 - 수(Numbers) (0) | 2022.08.12 |
[Python] - Python이란? (0) | 2022.08.12 |
댓글