▼ 강의 보러 가기 ▼
4주차 학습 범위는 6,7단원!
[ 이번 주는 무엇을 배웠나요? PY4E 요약 정리! ]
6. 문자열
1) 자료형 타입 확인
input으로 입력 받는 값은 string 자료형이다.
type( ) 함수로 현재 자료형을 확인 할 수 있다.
a = input('입력하세요: ')
print(type(a))
print(a)
2) 문자열의 개별 문자에 인덱스로 접근
대괄호 안에 인덱스 번호를 입력. 0번부터 시작한다.
문자열 길이보다 큰 값을 입력하면 오류가 발생한다.
3) len 함수
문자열의 길이를 출력하는 내장 함수.
name = 'ujubada'
print(len(name))
# 출력값 : 7
4) 문자열의 길이 만큼 루프
len()을 이용해서 개별 글자 반복 출력이 가능하다.
name = 'ujubada'
index = 0
# while 루프
while index < len(name) :
letter = name[index]
print(index, letter)
index = index + 1
# 0 u
# 1 j
# 2 u
# 3 b
# 4 a
# 5 d
# 6 a
# for 루프
for letter in name :
print(letter)
5) 문자열 슬라이싱
[a:b] a부터 b-1번째까지 출력.
[:b] 0번째부터 b-1 번째까지 출력.
[a:] a번째부터 끝까지 출력
[:] 처음부터 끝까지 출력.
name = 'Ujubada'
print(name[0:4])
# 출력값: Ujub (0~3번째까지 출력)
print(name[5:6])
# 출력값: d
print(name[:2])
# 출력값: Uj
print(name[3:])
# 출력값: bada
print(name[:])
# 출력값: Ujubada
6) 문자열 합치기
수리 연산자인 + 로 합칠 수 있다.
name = "uju"
hi = "hi!"
print(name + hi)
# 출력값 : ujuhi!
# cf.
print(name, hi)
# 출력값 : uju hi!
7) in을 논리 연산자로 사용
문자열에 특정 문자가 있는 지 확인 할 수 있다.
name = 'ujubada'
print('j' in name)
# True 출력
print('m' in name)
# False 출력
print('ju' in name)
# True 출력
if 'a' in name :
print('Found it!')
# Found it! 출력
8) .lower() .upper()
문자열 타입에서 사용할 수 있는 다양한 메소드 중
대문자, 소문자로 바꿔 출력해주는 함수. 원본 값은 바뀌지 않는다.
greet = 'Hello'
zap = greet.lower()
print(zap)
# hello
print(greet.upper())
# HELLO
print(greet)
# Hello (원래 값은 바뀌지 않았음)
print('Hi'.lower())
# hi
9) .strip()
문자열에서 공백을 제거하는 메소드.
lstrip(): 왼쪽 공백 제거
rstrip(): 오른쪽 공백 제거
strip(): 오른쪽 왼쪽 공백 제거
10) .startswith()
문자열이 특정 문자로 시작하는 지 확인하는 메소드.
결과값은 불리언 타입으로 반환. (True/False)
line = 'This is my blog'
print(line.startswith('This'))
# True가 출력됨
print(line.startswith('t'))
# False가 출력됨 (대소문자 구분)
11) 문자열 파싱
*파싱(parsing) : 원하는 데이터를 추출하여 가공하고 사용하기 쉬운 상태로 바꾸는 것.
이러한 역할을 하는 함수나 프로그램을 파서(parser)라고 한다.
웹 크롤링의 필수 개념으로 파이썬에서는 beautifulSoup이라는 라이브러리를 통해 html 문서를 파싱한다.
참고: https://hengbokhan.tistory.com/134
.find() 안에 문자나 문자열을 넣으면
그 문자가 몇 번째 인덱스부터 등장하는지 출력된다.
name = "uju"
name.find('j') # 출력값 : 1
name.find('z') # 출력값: -1
특정 값이 여러 개 있다면 더 먼저 등장하는 부분의 인덱스를 출력한다.
특정 구간 이후로부터 찾고 싶다면 , 숫자 를 뒤에 입력한다.
, 숫자 는 그 부분부터 탐색 시작.
, 숫자 , 숫자 는 시작부터 끝까지. 그 범위 안에서만 탐색한다.
name = "uju"
name.find('u') #출력값: 0
name.find('u',1) #출력값: 2
name = 'ujubada'
name.find('a',0,2) #출력값: -1
7. 파일
1) open( )
파일을 여는 함수. handle을 반환한다.
handle은 파일에 대한 작업을 수행할 때 사용되며,
여러 방식으로 저장되어 있는 텍스트를 처리하는 하나의 표준화된 방식이다.
fhand = open('hello.txt', 'r')
# open('파일명', '모드 선택')
# 파일명은 문자열 타입으로 입력하며, 확장자까지 포함해 작성한다.
# 'w' 또는 'r' 두 가지 모드를 선택할 수 있다.
# 'w'는 파일을 작성(write)할 때, 'r'은 파일을(read)읽을 때 사용.
2) open함수로 연 파일 출력하기
핸들을 반환하기 때문에 for문으로 출력하면 한 줄 씩 순서대로 출력한다.
fhand = open('readme.txt')
for line in fhand :
print(line)
3) 파일의 라인 수 세기
fhand = open('readme.txt')
count = 0
for line in fhand :
count = count + 1
print('Line Count: ', count)
4) 파일 이름 입력 받기
fname = input('Enter the file name: ')
try: # 일단 한 번 실행하고
fhand = open(fname)
except: # 오류가 나면 아래와 같이 처리한다.
print('File cannot be opened: ', fname)
quit()
'정리 노트 > 부스트코스 PY4E 2022' 카테고리의 다른 글
[부스트코스] 모두를 위한 파이썬 (PY4E) 6주 차_정리 (7/8) (0) | 2022.09.29 |
---|---|
[부스트코스] 모두를 위한 파이썬 (PY4E) 5주 차_정리 (6/8) (0) | 2022.09.28 |
[부스트코스] 모두를 위한 파이썬 (PY4E) 3주 차_정리 (4/8) (2) | 2022.09.20 |
[부스트코스] 모두를 위한 파이썬 (PY4E) 2주 차_정리 (3/8) (0) | 2022.09.15 |
[부스트코스] 모두를 위한 파이썬 (PY4E) 1주 차_정리 (2/8) (2) | 2022.09.14 |