문자열이란 말그대로 문자들의 집합이며, 파이썬에서는 작은따옴표'
나 큰따옴표"
로 둘러싸여 있으면 모두 문자열이다. 파이썬은 무려 문자열에 대해 더하기+
연산과 곱하기*
연산을 지원한다.
#더하기 연산
a = "부스트코스 "
b = "코칭스터디"
print(a + b)
결과 : 부스트코스 코칭스터디
#곱하기 연산
c = 'Python'
print(c * 3)
결과 : PythonPythonPython
문자열을 구성하는 문자들을 인덱싱으로 접근할 수 있다. 여기서 주의할 점은 인덱스는 항상 0
부터 시작한다는 것이다.
a = "hello world"
012345678910 #index
즉, 문자열 a에서 a[0]
은 h
, a[6]
은 w
, a[10]
은 d
이다.
문자열의 길이를 넘어가는 인덱스로 접근하면 오류가 발생하며, 내장함수 len()
을 이용해 문자열의 길이를 알아낼 수 있다.
참고로 문자열의 요솟값은 바꿀 수 없다. 즉, 문자열의 내용을 바꿀 수 없다.
슬라이싱을 통해 문자열의 일부분을 원하는 만큼 가져올 수 있다. 문자열[첫번호:끝번호]
형식이며, 끝번호는 인덱스 범위에 포함되지 않는다. 즉, a = "hello world"에서 a[1:8]
은 'ello wo'
이다. 첫번호를 생략하면 문자열의 처음부터 지정한 인덱스까지 가져오며, 끝번호를 생략하면 지정한 인덱스부터 문자열의 마지막까지 가져온다.
in
을 사용해 특정 문자 혹은 단어가 문자열 안에 있는지 파악할 수 있다. 문자 in 문자열
형태로 작성하며, 문자가 문자열 안에 있으면 True
를 반환하고 없으면 False
를 반환한다.
문자열에는 다양한 메소드가 존재한다.
lower()
: 문자열을 전부 소문자로 변경
upper()
: 문자열을 전부 대문자로 변경
lstrip()
: 왼쪽 공백 제거
rstrip()
: 오른쪽 공백 제거
strip()
: 양쪽 공백 제거
count(문자)
: 문자의 개수 반환
이 외에도 다양한 메소드들이 제공된다.
누구나 한번쯤은 컴퓨터에 기본으로 깔려있는 메모장 프로그램을 사용해본 적이 있을 것이다. 메모장에 글을 작성하고 저장을 하면 기본적으로 확장자 .txt
파일로 저장되는데, 파이썬으로 간단하게 이 텍스트파일을 다룰 수 있다.
파일을 여는 것은 open()
함수를 이용하며, 간단하게는 f = open(파일명, 모드)
형태로 쓴다. f
는 파일객체를 받는 변수이므로 다른 이름을 사용해도 상관없다. open()함수는 handle을 반환하며, handle은 텍스트를 처리하는 하나의 표준방식으로 파일에 대한 작업을 수행하기 위해 사용된다.
파일명은 확장자까지 작성하며, 모드는 다음과 같은 것들이 있다.
모드 | 내용 | 설명 |
---|---|---|
r | 읽기모드 | 파일을 읽을 때만 사용(쓰기 불가능) |
w | 쓰기모드 | 파일에 내용을 작성할 때 사용(파일이 이미 존재하면 이전내용 초기화) |
a | 추가모드 | 파일의 마지막에 새로운 내용을 추가할 때 사용 |
프로그램이 종료되면 파이썬은 자동으로 열려있는 파일의 객체를 닫아주지만, close()
함수를 사용해 직접 닫아주는 것이 좋다.
f = open("coachingstudy.txt", 'w')
...
...
f.close()
파일 핸들(File Handle)은 텍스트 파일을 한줄한줄 읽어나간다. readline()
함수는 파일을 한줄씩 읽으며, readlines()
함수는 파일의 모든 줄을 읽어 그 줄들을 요소로 갖는 리스트를 반환한다. 파일 내용 전체를 문자열로 가져오고 싶으면 read()
함수를 사용하면 된다.
파일 읽기에서 각 줄들은 개행문자 \n(new line)
로 구분되며, 문자열의 어디서든 \n(줄바꿈)이 나오면 한줄 띄운다. 하나의 문자로 인식되므로 문자열의 길이에 포함된다.
파일을 쓰기모드나 추가모드로 열게 되면 파일에 내용을 작성할 수 있으며, 이때는 write()
함수를 사용한다.
4주차 미션 목적은 문자열의 다양한 활용법 익히기였다.