이 글은 네이버 커넥트 재단에서 운영하는 부스트 코스 코칭 스터디 (모두를 위한 파이썬 2022) 과정에 부스터로 참여 하여 배운 내용을 정리 한 글이다.
추가적인 공부를 원하면 해당 강좌를 통해 공부가 가능하다.
강좌링크 : [https://www.boostcourse.org/cs122]
강좌명 : 모두를 위한 파이썬(PY4E)
문자열
지난 글인 변수와 자료형에서도 말했듯이 문자열은 class str
로 나타나는 자료형을 말한다.
문자열을 활용하면 크롤링과 같은 데이터 추출에서도 사용 할 수 있고 여러 방향으로 활용 할 수 있다.
오늘은 문자열을 파악하고 분리 결합 추출 변환과 같은 여러 문자열 변환 방법에 대해 알아 볼 것이다.
문자열 index
index란?
문자열이 지정 되어 있는 위치를 말한다. 첫글자 0부터 문자열의 길이 - 1 까지의 수를 나타 낼 수 있다.
food = "pizza"
print(food[1])
위 코드는 "pizza"
라는 문자열을 food
변수에 넣어 준 food 문자열의 1번 index를 출력한 것이다. []
안에 인덱스 번호를 넣으면 해당 번호의 문자열을 표현할 수 있다.현재 food는 0, 1, 2, 3, 4까지 총 0을 포함해 5개의 인덱스를 가지고 있다.
만약 범위 밖의 문자열을 표현하려고 하면 어떻게 될까?
아까 봤던 코드에 food[5]
를 넣어보겠다.
food = "pizza"
print(food\[5\])
-------------
IndexError: string index out of range
다음과 같이 IndexError가 일어난다. 5의 인덱스는 존재하지 않아 표현 할 수 없다. 코드를 짜다 보면 인덱스를 고려하지 않아 오류가 자주 일어남으로 주의 해야 한다.
문자열 입력
문자열을 입력하려면 input()
함수를 이용하여 구현 할 수 있다. 원하는 문자를 입력 후 enter
를 입력하면 enter
를 제외한 모든 키를 입력해 저장한다.
name = input()
print(name)
------------------------
honggildong <--- 입력
honggildong <--- 출력
그렇다면 입력으로 받은 문자열의 길이는 어떻게 알 수 있을까? len()
함수를 이용해 알 수 있다.
name = input()
print(len(name))
-----------------------
honggildong <--- 입력
11 <--- 출력
이렇게 이름을 입력하면 이름의 길이를 알려주는 코드를 짜보았다.
문자열 라이브러리
파이썬의 장점 중 하나가 내장하고 있는 라이브러리가 많다는 것이다. 라이브러리란 여러 기능이 모여 있는 프로그램 모음이다. 문자열 라이브러리에는 다양한 함수가 있다. 이 중에서 몇가지를 소개 하고자 한다.
find() 문자열 탐색
find() 함수는 찾고자 하는 문자열을 0번 인덱스부터 찾아 첫번째로 나타나는 인덱스를 반환하는 함수이다.
만약 찾고자하는 문자열이 없으면 -1을 반환한다.
food = 'pizza'
print(food.find('zz'))
print(food.find(rice))
-----------------------
2
-1
위 코드를 보면 문자열변수.find(찾고자하는 문자열)
의 형태로 사용 할 수 있다.
upper(), lower() 대소문자 변환
모든 문자열을 upper()은 대문자로 lower()은 소문자로 변환해 주는 함수이다.
words = "Hello World"
print(words.upper())
print(words.lower())
--------------------------
HELLO WORLD
hello world
문자열변수.upper()
, 문자열변수.lower()
의 형태로 사용한다.
replace() 문자열 바꾸기
replace() 함수는 원하는 문자열을 바꾸는 함수이다. 문자열을 따로 삭제하는 법은 인덱스를 찾아서 없애는 방법 밖에 없는데 이를 활용하면
원하는 문자열을 손쉽게 없앨 수 있다.
words = "Hello World"
change_words = words.replace('World', 'Python')
print(change_words)
--------------------------------------------------
Hello Python
문자열.replace('바꾸고자 하는 문자열', '바꿀 문자열')
의 형태로 바꿀 수 있다.
이를 활용해 알파벳ㅣ
(엘)을 전부 없애 보겠다
words = "Hello World"
change_words = words.replace('l', '')
print(change_words)
--------------------------------------------------
Heo Word
이 처럼 알파벳 l
을 바꿀 문자열을 ''
로 지정하여 문자열을 없앨 수 있다.
split() 문자열 분리
문자열을 다룰 때 많이 쓰는 함수로 특정 문자를 기준으로 분리할 수 있는 함수이다. 주로 띄어쓰기로 이루어진 문자를 분리할 때 사용한다.
phone_number = '010 1234 5678'
phone_number = phone_number.split(' ')
print(phone_number)
-----------------------------------------
['010', '1234', '5678']
' '
을 제외한 숫자만 출력하였다. 여기서 주의해야할 점은 split()
함수를 사용하면 리스트의 형태를 자료를 담아 반환한다는 점이다.
strip() 공백제거
문자열 끝에 남아있는 공백을 제거 하는 함수이다. 주로 space
로 이루어진 공간이나 /n
개행문자를 제거 할 때 사용한다.
왼쪽 끝만 제거하려면 lstrip()
오른쪽 끝만 제거하려면 rstrip()
둘다 제거하려면 strip()
함수를 사용하면 된다.
오늘은 파이썬의 문자열과 여러 문자열 내장 함수에 대해 알아보았다.
문자열을 잘 다루면 파일 정리나 자료 추출에서도 매우 편할 것이다.
다음에는 컬렉션 중 하나인 리스트에 대해서 알아 보겠다.
'[부스트코스 코칭스터디]' 카테고리의 다른 글
[부스트코스] 모두를 위한 파이썬(PY4E) 파이썬 그리고 새로운 시작 (0) | 2022.09.28 |
---|---|
[부스트코스] 모두를 위한 파이썬(PY4E) 딕셔너리, 튜플, 셋 (2) | 2022.09.25 |
[부스트코스] 모두를 위한 파이썬(PY4E) 컬렉션과 리스트 (0) | 2022.09.24 |
[부스트코스] 모두를 위한 파이썬(PY4E) 반복문과 재귀함수 (0) | 2022.09.14 |
[부스트코스] 모두를 위한 파이썬(PY4E) 변수와 자료형 (0) | 2022.09.02 |