
Database 라는 이름의 class를 구현해 주세요.
Database 클래스 내부에 다음의 속성(attribute)들을 선언해주세요.
name : database의 이름size : 저장할 수 있는 데이터의 max 사이즈. Size를 넘어서는 데이터를 저장할 수 없다.Database 클래스 내부에 다음의 메소드들을 구현해주세요.
insertselectupdatedeleteinsert 메소드는 self 외에 2개의 parameter를 받습니다.
field와 value 입니다.
Field 는 저장하고자 하는 데이터의 필드명이고 value는 값입니다.
Field 와 value는 내부적으로 dictionary에 저장되어야 합니다.
insert 메소드는 다음 처럼 호출 할 수 있습니다.
# 객체 이름이 db 라는 가정하에
db.insert("name", "정우성")
insert 메소드는 특별한 return 값은 없습니다.
단, 만일 내부 dictionary의 총 사이즈가 Database 클래스의 size 속성보다 크면 더이상 새로운 값들을 저장하지 말아야 합니다.
select 메소드는 self 외에 1개의 parameter를 받습니다.
바로 field 입니다.
field 는 읽고자 하는 데이터의 필드명 입니다.
내부적으로 데이터를 저장하고 있는 dictionary에서 해당 field에 해당하는 키와 연결되어 있는 값을 return 해주어야 합니다.
예를 들어, 이미 name이라는 필드명으로 "정우성" 이라는 값을 저장했다고 한다면:
# 객체 이름이 db 라는 가정하에
db.select("name")
> "정우성"
이 되어야 합니다.
만일 해당 필드값으로 저정되어 있는 값이 없다면 None 을 return 해주세요.
self 외에 2개의 parameter를 받습니다.
field와 value 입니다.
이름 그대로 이미 저장되어 있는 값을 수정하는 메소드 입니다.
# 객체 이름이 db 라는 가정하에
db.update("name", "아이유")
만일 field값에 해당하는 데이터가 저장되어 있지 않으면 아무것도 하지 않습니다.
그리고 특별한 return 값은 없습니다.
delete 메소드는 self 외에 1개의 parameter를 받습니다.
field 입니다.
field 는 지우고자 하는 데이터의 필드명 입니다.
# 객체 이름이 db 라는 가정하에
db.delete("name")
만일 field값에 해당하는 데이터가 저장되어 있지 않으면 아무것도 하지 않습니다.
그리고 특별한 return 값은 없습니다.
class Database:
def __init__(self, name, size):
self.name = name
self.size = size
self.database = {} # 빈 딕셔너리를 만든다.
def insert(self, field, value): #삽입 => 변수명[새로운키] = 새로운값
self.field = field
self.value = value
if len(self.database) < self.size: #self.size보다 삽입된 데이터 수가 많으면 추가되지 않음
self.database[self.field] = self.value
def select(self, field): # 읽기 => 변수명[키]
self.field = field
if self.field in self.database.keys(): # self.field 가 데이터베이스의 key에 있으면 읽기.
return self.database[self.field]
else:
return None
def update(self, field, value): # 수정 => 변수명[수정할키] = 수정값
self.field = field
self.value = value
if self.field in self.database.keys():
self.database[self.field] = self.value
def delete(self, field): #삭제 => del 변수명[키]
self.field = field
if self.field in self.database.keys():
del self.database[self.field]
class Database:
def __init__(self, name, size):
self.name = name
self.size = size
self.database = {} # 빈 딕셔너리를 만든다.
def insert(self, field, value):
if len(self.database) < self.size:
self.database[field] = value
def select(self, field):
if field in self.database:
return self.database[field]
else:
return None
def update(self, field, value):
if field in self.database:
self.database[field] = value
def delete(self, field):
if field in self.database:
del self.database[field]
빈 딕셔너리를 만들어야 한다는 걸 모르고 그냥 입력만 받았다. 딕셔너리를 만들어야 한다는 것과 딕셔너리 자료형 읽기, 수정, 삭제, 삽입 함수만 알면 바로 해결!