[파이썬]노트, 노트북 만들기
in Development on Python
파이썬 강좌_CS50_K-MOOC(가천대)유튜브 의 과제 중 노트와 노트북을 만들어 보겠습니다.
class라는 것을 처음 배워서 약간 어렵긴했지만 강의를 반복해서 듣고 나서 이해를 함. 아래 코드처럼 클래스를 이용해서 def들을 정의 해주면 됨.
class Note(object):
def __init__(self, content=None):
self.content = content
# 컨텐츠의 기본값을 넣어서 굳이 안넣어줘도 되는 편안함이 있다.
def write_content(self, content):
self.content = content
def remove_all(self):
self.content = ""
def __str__(self):
return self.content
#출력
class NoteBook(object):
def __init__(self, title):
self.title = title
self.page_number = 1
self.notes = {}
# 노트라는 오브젝트를 넣어라
def add_note(self, note, page=0):
if self.page_number < 300:
if page == 0:
self.notes[self.page_number] = note
# 딕트 타입이니깐 {1 : a } 이렇게 나온다
self.page_number += 1
else:
self.notes = {page : note}
self.page_number += 1
else:
print("Page가 모두 채워졌습니다.")
def remove_note(self, page_number):
if page_number in self.notes.keys():
# key에 있다면
return self.notes.pop(page_number)
# 찢는다.
else:
print("해당 페이지는 존재하지 않습니다.")
def get_number_of_pages(self):
return len(self.notes.keys())
#전체 페이지의 수
이렇게 클래스를 정해준다음 실제로 돌아가는지 테스트를 해보자.
from note_module import NoteBook
from note_module import Note
quote_book = NoteBook("The Quote Book")
new_note = Note()
new_note.write_content("Don't cry because it's over smile because it happened. -Dr. Seuss")
quote_book.add_note(new_note)
print(quote_book.get_number_of_pages())
quote_book.add_note(Note("Hello, World"))
quote_book.add_note(Note("Hello, World"))
quote_book.add_note(Note("Hello, World"))
quote_book.add_note(Note("Hello, World"))
quote_book.add_note(Note("Hello, World"))
print(quote_book.get_number_of_pages())
my_note = quote_book.remove_note(1)
print(my_note)
print(quote_book.get_number_of_pages())
이렇게 해보면 노트북과 노트를 이용해 추가도 해보고 삭제도 해보고 노트의 갯수도 찍어볼 수 있다.