데이터는 다양한 타입으로 저장된다. 특히 많이 사용하게 될 문자열은 빼놓을 수 없다. 파이썬의 문자열의 특성과 루프와의 활용될 접점을 찾아 보도록 하자.
문자열의 특성을 이해하고 루프와 함께 문자(Character) 타입을 출력할 수 있다.
문자열 타입과 관련하여서는 타입 변환, 인덱싱, len 함수, for 루프 활용을 이해하고 사용할 수 있으면 된다.
문자열을 사용한 데이터를 읽어 오게 되면 우리는 에러나 사용자 입력에 대해 많은 대처를 할 수 있게 된다. 또한, 사용자 입력으로 들어오는 값은 문자열 타입으로 입력되므로 입력된 값으로 다른 무엇인가를 하기를 원한다면 적절한 타입 변환을 해줘야 한다.
name = input('Enter:')
print(type(name))
print(name)
# > Enter: 123 으로 입력한다.
# 인풋값 123의 타입은 <class 'str'>과 같다.
# 123으로 출력된다.
우리는 특정 문자열을 구성하고 있는 개별 문자 값에 인덱스를 활용해서 접근할 수 있다. 여기서 유의해야 할 것은 첫 번째 오는 문자에 대한 인덱스는 0부터 시작한다는 점이다. 만약 해당 문자열이 가지고 있는 인덱스를 넘어서는 값을 호출하게 되면 오류가 발생하게 된다.
fruite = 'banana'
letter = fruit[0]
print(letter)
letter = fruit[1]
print(letter)
letter = fruit[2]
print(letter)
# b로 출력
# a로 출력
# n로 출력
문자열에 대해서 우리는 len()
내장 함수를 활용해서 문자열의 길이를 알 수 있다. 예를 들어, len(banana)
라고 한다면 banana가 몇 개의 문자로 구성되어 있는지를 알 수 있게 되는 것이다.
fruit = 'banana'
print(len(fruit))
# 6으로 출력된다.
우리는 len()
함수를 활용하면 문자열의 길이 만큼 루프를 실행할 수 있다.
fruit = 'banana'
index = 0
# while 루프
while index < len(fruit) :
letter = fruit[index]
print(index, letter)
index = index + 1
# 0 b
# 1 a
# 2 n
# 3 a
# 4 n
# 5 a
# for 루프
for letter in fruit :
print(letter)
저장된 텍스트 파일을 열려고 할 때 단순히 더블클릭만으로 우리는 목적을 달성할 수 있다. 하지만 파이썬에서는 텍스트 파일을 열기 위해 어떻게 해야 할까?
파일이 어떠한 방식으로 열리는 것인지 이해하고 파일을 열기 위한 open()
함수를 사용할 수 있다. 텍스트 파일의 구성과 이와 관련된 기본적인 코드들을 이해하고 사용할 수 있다.
open()
함수텍스트 파일은 연속적으로 연결되어 있는 줄글들의 집합이라고 생각할 수 있다. 우리는 지금까지 많은 텍스트 파일을 만들어 왔다. 그럼 텍스트 파일을 열고 처리하는 것과 관련된 몇 가지 함수들을 살펴보도록 하자.
파일을 여는 것은 open()
함수를 이용해 달성할 수 있다. open()
함수는 handle
을 반환하게 되고 handle
은 파일에 대한 작업을 수행하기 위해 사용된다. handle
은 텍스트가 파일 형태, 메모리에 저장된 문자열의 형태, 웹 사이트에서 존재하는 형태와 같이 다른 방식으로 저장되어 있는 텍스트를 처리하는 하나의 표준화된 방식이다. 또한, 많은 양의 문자 파일을 한꺼번에 읽어 발생할 수 있는 성능의 문제를 handle은 점진적으로 읽어 방지한다.
fhand = open('hello.txt','r')
# open('파일명입력','모드 선택')
# 1. 파일명 입력
# 파일명은 문자열 타입으로 입력하며, 확장자까지 포함시켜 준다.
# 2. 모드 선택
# 모드에서는 w 또는 r 두가지를 선택할 수 있다. 'w'는 파일을 작성할 때 사용하며, 'r'은 파일을 읽을 때 사용한다.
파이썬에서 행을 바꾸는 문자인 개행 문자는 '\n'
이다. print()
함수를 사용하게 되면 해당 함수에 의해 '\n'
가 발생하게 된다. 여기서 중요한 것은 \n'
도 하나의 문자라는 점이다. 아래에 보는 것처럼 문자열의 길이를 확인하기 위해 len()
함수를 호출해 보면 'Hello World!'
와 'Hello\nWorld!'
길이가 동일한 것을 확인할 수 있다.
stuff1 = 'Hello World!'
print(stuff1)
print(len(stuff1))
stuff2 = 'Hello\nWorld!'
print(stuff2)
print(len(stuff2))
# Hello World!
# 12
# Hello
# World!
# 12
Quiz는 6까지만 있고 이후에는 퀴즈가 없다. 부스트코스 팀 과제를 올리고 싶은데 저작권 문제로 올리지 못하는게 정말 아쉽다!😥