부스트코스 코칭스터디 서포터즈
[부스트코스 코칭스터디] 모두를 위한 파이썬(PY4E) 4주차
HAN___
2022. 9. 24. 21:04
네이버 부스트코스 "모두를 위한 파이썬(PY4E)"
4주차 학습: 문자열과 파일
네이버 부스트코스 코칭스터디(22년 여름)에 참여했던 2주차 내용을 간단하게 기록해보았습니다.
학습 (문자열)
1. 문자열 자료형
- 문자열은 문자 시퀀스
- 문자열은 따옴표를 사용해서 표기: ex) 'Hello' / "Hello"
- 문자열이 숫자를 포함하고 있어도 여전히 문자열: ex) 'day5'
- int() 함수를 이용해서 문자열 안의 숫자를 정수형으로 변환 가능
2. 문자열 인덱싱
- 문자열에 있는 어떤 문자든지, 리스트처럼 문자 하나에 지정된 인덱스 이용해서 가져올 수 있다
- 인덱스 값은 정수, 0부터 시작
# 문자열 인덱싱
fruit = 'banana'
letter = fruit[1]
print(letter)
# 실행결과
a
- 문자열 크기를 벗어난 인덱스에 접근하려고 하면 에러 발생
3. 문자열 길이: len
- 내장 함수 len 활용해서 구할 수 있다
# 문자열 길이
fruit = 'banana'
print(len(fruit))
# 실행 결과
6
4. 문자열을 통한 루프
# for문을 이용한 루프
fruit = 'banana'
for letter in fruit:
print(letter)
# 실행결과
b
a
n
a
n
a
- 루프 이용해서 개수 세기
# 루프와 개수 세기
word = 'banana'
count = 0
for letter in word:
if letter == 'a' :
count = count + 1
print(count)
5. 논리연산자로서의 in: 참/거짓 반환
- in은 어떤 문자열이 다른 문자열에 포함되는지 확인하기 위해서도 사용된다
- 참 또는 거짓값을 반환하는 논리표현식
# 논리연산자로서의 in
fruit = 'banana'
'n' in fruit # True
'm' in fruit # False
6. 문자열 슬라이싱
- 콜론(:) 연산자를 사용해서 문자열의 연속적인 구간을 가져올 수 있다
# 문자열 슬라이싱
s = 'Monty Python'
print(s[0:4]) # 1) Mont
print(s[6:7]) # 2) P
print(s[6:20]) # 3) Python
- s[a:b] : 인덱스 a ~ (b-1)까지의 문자열
- b가 전체 인덱스 숫자를 초과하는 숫자일 경우, 문자열의 마지막에서 멈춘다
- a를 생략하면 첫 번째 문자부터, b를 생략하면 마지막 문자까지 가리킴
7. 문자열 라이브러리
- Python에서는 여러 개의 문자열 함수를 정의하는 문자열 라이브러리가 존재
- dir(문자열) 입력시, 사용 가능한 라이브러리를 보여준다
7-1. 예시1) 문자열 탐색: find()
# find()
fruit = 'banana'
pos = fruit.find('na')
print(pos) # 2
aa = fruit.find('z')
print(aa) # -1
- 연속된 문자열을 여러 개 입력하면, 맨 앞 문자열의 인덱스를 출력
- 하위 문자열을 찾지 못하면, -1을 출력
7-2. 예시2) 문자열 바꾸기: replace()
- 나타나는 모든 탐색 문자열을 대체 문자열로 치환
# replace()
greet = 'Hello Bob'
nstr = greet.replace('Bob', 'Jane')
print(nstr)
# 실행결과
Hello Jane
7-3. 예시3) 문자열 공백 제거하기: lstrip(), rstrip(), strip()
# 공백 제거
greet = ' Hello Bob '
greet.lstrip() # 'Hello Bob '
greet.rstrip() # ' Hello Bob'
greet.strip() # 'Hello Bob'
7-4. 예시4) 접두사: startswith()
# startswith()
line = 'Please have a nice day'
line.startswith('Please') # True
line.startswith('p') # False
퀴즈
보다 자세한 내용과 직접 강의를 듣고 싶다면(+ 강의자료 pdf 파일도 제공됩니다!)
▶ https://www.boostcourse.org/cs122