부스트코스 코칭스터디 서포터즈

[부스트코스 코칭스터디] 모두를 위한 파이썬(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