💡 글 작성자는 vscode를 활용하여 Python을 작성하고있습니다.
코드 복사 주소 : https://pastebin.com/KUwjgKnG
class Item:
# 클래스 생성자 정의
def __init__(self): # 바로 파이썬에서 특별하게 약속된 메서드 가운데 하나로, 초기화(initialize) 메서드라고도 합니다.
self._name = None
self._atk = 0
self._mtk = 0
#변수 담기
#def __init__(self, name, atk, mtk):
# self._name = name
# self._atk = atk
# self._mtk = mtk
# setter
#@item.setter
def setName(self, name):
self._name = name
# getter
#@property
def getName(self):
return self._name
def setAtk(self, atk):
self._atk = atk
def getAtk(self):
return self._atk
def setMtk(self, mtk):
self._mtk = mtk
def getMtk(self):
return self._mtk
class Hero:
def __init__(self):
self._name = None
self._items = []
def getName(self):
return self._name
def setName(self, name):
self._name = name
def getItems(self):
return self._items
def appendItem(self, item):
self._items.append(item)
def main():
#item1 = Item("메자이", 0, 80)
#print(item1.getName())
#colors = []
#
#red = 'red'
#blue = 'blue'
#
#colors.append(red)
#colors.append(blue)
#
#print (colors)
#
#for color in colors:
# print (color)
# 티모 생성
timo = Hero()
timo.setName("티모")
print(timo.getName(),timo.getItems()) # 아이템 아무것도 없음
# 출력 -> 티모 []
print ("아이템 생성 ( 이름 메자이 )")
item0 = Item() # 객체
item0.setName("메자이") #세팅
item0.setAtk(0)
item0.setMtk(80)
print ("아이템 생성 ( 이름 무한의대검 )")
item1 = Item() # 객체
item1.setName("무한의대검") #세팅
item1.setAtk(120)
item1.setMtk(0)
print ("티모한테 아이템 append")
timo.appendItem(item0)
timo.appendItem(item1)
print ("----------티모 아이템 정보 출력----------")
for item in timo.getItems():
print (item.getName(), item.getAtk(), item.getMtk())
#item = timo.getItems()[0]
#print (item.getName(), item.getAtk(), item.getMtk())
#print(item0.getName(),item0.getAtk(),item0.getMtk()) #읽기
if __name__ == "__main__":
main()
class 생성자명과 init
class를 생성합니다.
init는 파이썬에서 특별하게 약속된 메서드 가운데 하나로, 초기화(initialize) 메서드라고도 합니다.
여기서 부터 코드는 매우 중요합니다. 어떤 프로그램을 코딩하더라도 같은 패턴으로 사용할 변수를 만들어 놓고 사용합니다.
def __init__(self):
self._name = None
self._atk = 0
self._mtk = 0
class Item이라는 생성자를 만든 후
아이템에 관련된 이름, 공격력, 마법력의 변수를 지정합니다.
setter, getter
클래스에서 메서드를 통하여 속성의 값을 가져오거나 저장하는 경우가 있습니다.
이때 값을 가져오는 메서드를 getter, 값을 저장하는 메서드를 setter라고 부릅니다.
파이썬에서는 @property를 사용하면 getter, setter를 간단하게 구현할 수 있습니다.
이전에 배운 내용처럼 반환값은 누구 이렇게 지정을 해줍니다.
# setter
#@item.setter
def setName(self, name):
self._name = name
# getter
#@property
def getName(self):
return self._name
def setAtk(self, atk):
self._atk = atk
def getAtk(self):
return self._atk
def setMtk(self, mtk):
self._mtk = mtk
def getMtk(self):
return self._mtk
티모 생성
timo = Hero()
timo.setName("티모")
print(timo.getName(),timo.getItems()) # 아이템 아무것도 없음
우리는 timo라는 이름으로 Hero에 있는 함수들을 이용하여 timo를 설정하고 이름은 setName (getter, setter)를 활용하여 티모라고 지정합니다.
그 후 출력되는 내용은 이름과 아이템입니다.
티모 아이템 전송
print ("아이템 생성 ( 이름 메자이 )")
item0 = Item() # 객체
item0.setName("메자이") #세팅
item0.setAtk(0)
item0.setMtk(80)
item0 이라는 객체를 만든 후 setter, getter를 활용하여 이름, 공격력, 마법력을 설정합니다.
우리가 만든 appendItem으로 티모에게 item0객체를 보내줍니다.
timo.appendItem(item0)
이 내용을 출력을 해보면 글 첫 번째 사진처럼 출력되는 것을 확인할 수 있습니다.
[Python opencv] 화면 출력 및 눈,입을 검출 (0) | 2021.07.18 |
---|---|
[Python 만들면서 배우기05] 만들면서 배우는 Python 학생 출력하기 (0) | 2021.07.18 |
[Python 만들면서 배우기03] 만들면서 배우는 Python 계산기 만들기 (0) | 2021.07.18 |
[Python 만들면서 배우기02] 만들면서 배우는 Python 구구단 만들기 (0) | 2021.07.18 |
[Python 만들면서 배우기01] 만들면서 배우는 Python 성적 변환 만들기 (0) | 2021.07.18 |