🐍
Python - 패스트캠퍼스 캐시백 챌린지 22일차
May 09, 2022
오늘도 어제에 이어서 “한 번에 끝내는 파이썬 웹 개발 초격차 패키지 Online” 의 챕터 8-2. 생성자를 듣고 정리해보았다. 참고로 이 포스팅은 공부용으로 강의 내용을 요약한 것으로 자세한 강의 내용은 위 링크를 참조 할 것.
아래는 공부 인증 사진.
1. 생성자
1. 클래스와 객체의 개념
-
클래스 = 속성 + 메서드(method)
- 속성: 특징들을 나타낸 것
- 메서드: 동작들을 나타낸 것
2. 속성 추가하기
-
Monster 클래스에 속성을 추가해보자.
class Monster: def say(self): print("나는 몬스터다")
1. 체력
2. 공격력
3. 이동속도
class Monster:
def __init__(self, health, attack, speed):
self.health = health
self.attack = attack
self.speed = speed
goblin = Monster(800, 120, 300) #인스턴스 생성 시점
wolf = Monster(1500, 200, 350)
__init__
: 인스턴스를 만들 때 반드시, 가장먼저 호출되는 메서드- goblin 인스턴스를 생성할때, 800, 120, 300는
__init__
메서드의 인자(argument)로 들어가게 된다. self
: 인스턴스 자기자신을 뜻함. 매개변수 아님.
3. 메서드 추가하기
-
Monster 클래스에 메서드를 추가해보자.
class Monster: def __init__(self, health, attack, speed): self.health = health self.attack = attack self.speed = speed goblin = Monster(800, 120, 300) wolf = Monster(1500, 200, 350)
- 체력 감소하기
- 체력 가져오기
-
추가 메서드를 적용하면 아래와 같다.
class Monster: def __init__(self, health, attack, speed): self.health = health self.attack = attack self.speed = speed def decrease_health(self, num): self.health -= num def get_health(self): return self.health goblin = Monster(800, 120, 300) goblin.decrease_health(100) print(gobling.get_health())
4. 실습
-
위에서 배운 내용을 실제 vscode에 입력해보자.
# 생성자 # : 인스턴스를 만들 때 호출되는 메서드 class Monster: def __init__(self, health, attack, speed): self.health = health self.attack = attack self.speed = speed def decrease_health(self, num): self.health -= num def get_health(self): return self.health # 고블린 인스턴스 생성 goblin = Monster(800, 120, 300) goblin.decrease_health(100) print(goblin.get_health())
- 출력 결과
(myvenv) ➜ python_basic /Users/usr/Documents/pyt
hon_basic/myvenv/bin/python /Users/usr/Documents/
python_basic/myvenv/Chapter8/03.생성자.py
700
- 늑대 인스턴스를 추가로 생성해보자.
# 생성자
# : 인스턴스를 만들 때 호출되는 메서드
class Monster:
def __init__(self, health, attack, speed):
self.health = health
self.attack = attack
self.speed = speed
def decrease_health(self, num):
self.health -= num
def get_health(self):
return self.health
# 고블린 인스턴스 생성
goblin = Monster(800, 120, 300)
goblin.decrease_health(100)
print(goblin.get_health())
# 늑대 인스턴스 생성
wolf = Monster(1500, 200, 350)
wolf.decrease_health(1000)
print(wolf.get_health())
- 출력 결과
(myvenv) ➜ python_basic /Users/usr/Documents/pyt
hon_basic/myvenv/bin/python /Users/usr/Documents/
python_basic/myvenv/Chapter8/03.생성자.py
700
500
- 늑대 인스턴스에 health = 1500, attack = 200, speed = 350이 할당
- decrease_health 함수로 health가 1000이 감소
- get_health 함수로 현재 health값 저장 및 print로 출력
이번 포스팅에서는 생성자의 개념에 대해 알아보았다. 다음 포스팅에서는 상속에 대해 알아보도록 하자.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
- 패스트캠퍼스 강의 등록하기: https://bit.ly/3L3avNW
#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #캐시백챌린지 #캐시백 #환급챌린지 #한번에끝내는파이썬웹개발초격차패키지Online