[파이썬-2] 문자열 처리하기
1. 문자열 사용방법
1) 작은따옴표(') 사용하여 문자열 출력
>>> str = 'hello world'
2) 큰따옴표(") 사용하여 문자열 출력
>>> str = "hello world"
3) 작은따옴표 3개 (''') 사용하여 문자열 출력
>>> str = '''hello world'''
4) 큰따옴표 3개 (""") 사용하여 문자열 출력
>>> str = """hello world"""
2. 이스케이프 코드
코드 | 설명 |
\\n | 문자열 안에서 줄 바꿈 |
\\t | 문자열 사이에 탭 간격 |
\\ | 문자 \\를 그대로 표현할 때 |
\\‘ | 작은따옴표(‘)를 그대로 표현할 때 |
\\“ | 큰따옴표(“)를 그대로 표현할 때 |
\\ | 줄 바꿔서 이어서 입력 가능 |
1) 줄바꿈
>>> print("안녕하세요.\\n반갑습니다.")
결과 : 안녕하세요.
반갑습니다.
2) 탭간격
>>> print("안녕하세요.\\t반갑습니다.")
결과 : 안녕하세요. 반갑습니다.
3) 백슬래시(\\) 출력
>>> str = "\\5000원"
결과 : \\5000원
4) 작은따옴표(') 출력
>>> str = "He\\'s world"
결과 : He's World
5) 큰따옴표(") 출력
>>> str = "\\"Hi !\\""
결과 : "Hi !"
6) 줄바꿔서 이어서 입력 가능
>>> print("안녕하세요. \\
반갑습니다.")
결과 : 안녕하세요. 반갑습니다.
3. 문자열 연산
>>> a = 'abc'
>>> b = 'def'
>>> a+b
결과 : abcdef
>>> a * 2
결과 : abcabc
4. 문자열 인덱싱
- 인덱싱 : 특정 문자열 가리키기
- 슬라이싱 : 문자열 나누기
>>> str = ‘Hello world’
str은 총 10개의 문자를 가지고있는 문자의 배열 즉, 문자열이다.
H | e | l | l | o | w | o | r | l | d | |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
인덱싱 예)
>>> str[0]
'H'
>>> str[10]
'd'
>>> str[-1]
'd'
- 뒤부터 읽기(뒤부터 읽을 때 첫 글자는 -0번이 아니고 -1번이다.)
>>> str[-3]
'r'
>>> str[0:5]
'Hello'
>>> str[0:3]
'Hel'
>>> str[:]
'Hello World'
>>> str[6:]
'World'
>>> str[:6]
'Hello '
>>> str[6:-1]
'world'
- 뒤부터 읽기(뒤부터 읽을 때 첫 글자는 -0번이 아니고 -1번이다.)
>>> str[6:-2]
'worl'
>>> str[6:-3]
'wor'
>>> str[6:-4]
'wo'
>>> str[6:-5]
'w'
>>> str[6:-6]
''
5. 문자열 포매팅 출력
문자열 포맷 코드
포맷 코드 | 설명 |
%d | 정수(Integer) |
%f | 부동 소수(float) |
%c | 문자(Character) |
%s | 문자열(String) |
%o | 8진수 |
%x | 16진수 |
%% | 문자 '% |
>>> print("짜장면 한 그릇에 %d원 입니다." %4000)
'짜장면 한 그릇에 4000원 입니다.‘
>>> value = 4500
>>> print("짬뽕 한 그릇에 %d원 입니다." %value)
'짬뽕 한 그릇에 4500원 입니다.'
>>> print("원주율은 %f......입니다." %3.141592)
'원주율은 3.141592......입니다.'
>>> print("짜장면과 짬뽕의 가격은 각각 %d원과 %d원입니다." %(4000,4500))
'짜장면과 짬뽕의 가격은 각각 4000원과 4500원입니다.'
>>> print("짜장면 한 그릇에 %s원 입니다." %4000)
'짜장면 한 그릇에 4000원 입니다.'
>>> print("원주율은 %s......입니다." %3.141592)
'원주율은 3.141592......입니다.'
>>> print("프로젝트 완료까지 %d%% 남았습니다." %20)
- 문자 '%' 출력하고 싶으면 앞에 %하나 더 입력
'프로젝트 완료까지 20% 남았습니다.'
★ 더 편하게 쓰는 방법 ★
- 파이썬은 자료형을 자동으로 찾아간다. 굳이 명시적으로 포매팅이 필요없다.
- 자리수, 좌/우로 정렬, 부호 표시 등 명시적으로 포매팅이 필요한 경우에만 사용할 것.
>>> value = 4500
>>> print(f"짬뽕 한 그릇에 {value}원 입니다.")
'짬뽕 한 그릇에 4500원 입니다.'
또는
>>> print("짬뽕 한 그릇에 ", value)
>>> print("원 입니다.")
'짬뽕 한 그릇에 4500원 입니다.'
6. 문자열 관련 함수
1) 문자길이 세기 (len)
>>> len(str)
11
- str이 11글자라는 뜻
2) 특정문자 개수세기 (count)
>>> str = "happy"
>>> str.count('a')
1
- 글자 'a'가 1개 들어있다는 뜻
3) 특정문자 위치 알려주기 (find, index)
>>> str = "happy"
>>> str.find('y')
4
- 글자 'y'가 5번째에 위치하고 있다는 뜻 (첫 글자가 0번이므로)
>>> str.find('b')
-1
- 글자 'b'가 없다는 뜻 (NULL = -1이므로)
>>> str.index('h')
0
- 글자 'h'가 1번째에 위치하고 있다는 뜻 (첫 글자가 0번이므로)
>>> str.index('z')
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
a.index('z')
ValueError: substring not found
- 글자 'z'가 없다는 뜻
4) 문자열 삽입 (join)
>>> a = ""
>>> a.join('1234')
'1234'
>>> a = ","
>>> a.join('123456')
'1,2,3,4,5,6'
>>> a = ", "
>>> a.join('123456789')
'1, 2, 3, 4, 5, 6, 7, 8, 9'
5) 문자열 나누기 (split)
>>> a = "He's reading a book."
>>> a.split()
["He's", 'reading', 'a', 'book.']
- 공백(space)을 기준으로 나누기
>>> a = "02-1234-5678"
>>> a.split(-)
SyntaxError: invalid syntax
>>> a.split('-')
['02', '1234', '5678']
- 기호(-)를 기준으로 나누기 (작은따옴표 안쓰면 에러남)
6) 문자열 추가하기 (append)
>>> new_str = []
>>> new_str.append('hello')
>>> new_str.append('world')
>>> new_str = ' '.join(new_str)
'hello world'
※ 기타 문자열 함수 정리
함수 | 설명 |
count() | 문자 개수 세기 |
find() | 문자 위치 알려주기 |
index() | 문자 위치 알려주기 |
join() | 문자열 삽입 |
upper() | 소문자를 대문자로 바꾸기 |
lower() | 대문자를 소문자로 바꾸기 |
lstrip() | 왼쪽 공백 지우기 |
rstrip() | 오른쪽 공백 지우기 |
strip() | 양쪽 공백 지우기 |
replace() | 문자열 바꾸기 |
split() | 문자열 나누기 |
'IT > 파이썬 & vscode' 카테고리의 다른 글
[vscode] 오프라인에서 Extension 설치 방법 (0) | 2022.03.15 |
---|---|
[vscode] 폴더째로 비교하기 (Diff Tool) (0) | 2022.03.15 |
[vscode] 한글 깨짐 현상 해결 방법 (1) | 2022.03.15 |
[파이썬-3] 자료형 타입 확인, 리스트, 튜플, 딕셔너리 (0) | 2022.03.02 |
[파이썬-1] 개발 전 필수로 설치해야 할 항목들 (0) | 2022.03.02 |