class는 반복되는 불필요한 소스코드를 최소화 하여 쉽게 표현할 수 있도록 해주는 문법
마법사 캐릭터를 클래스로 표현 하면 체력, 마나, 공격력, 방어력 등의 데이터가 클래스의 속성이고 공격, 방어, 회피 등의 기능이 메서드이다.
class의 기본 구조
profile1, 2, 3.. 의 instance를 추가하여 쉽게 반복 사용할 수 있다.
class Profile:
def __init__(self, name, age):
self.name = name
self.age = age
print(f"{name}(이)는 {age}살 입니다.")
profile1 = Profile("영희", "12") #영희(이)는 12살 입니다.
profile2 = Profile("민준", "13") #민준(이)는 13살 입니다.
method는 클래스 안에 들어 있는 함수를 뜻한다.
instance.get_profile() 메서드를 호출하여 메서드의 수행문을 수행한다.
class Profile:
def __init__(self, name, age):
self.name = name
self.age = age
def get_profile(self):
print(f"{self.name}(이)는 {self.age}살 입니다.")
profile1 = Profile("영희", "12")
profile1.get_profile() #영희(이)는 12살 입니다.
profile2 = Profile("민준", "13")
profile2.get_profile() #민준(이)는 13살 입니다.
instance와 객체는 같은 것 을 뜻한다.
profile1 은 객체, profile1은 Profile의 인스턴스 라고 표현할 수 있다.
결국 class는 수많은 객체를 만들어내기 위해 필요한 문법인 것 이다.
init은 클래스를 선언하는 순간 실행되는 함수로 최초 메소드 내에 인스턴스 변수를 작성하고나 참고하는데 사용.
self
메서드는 일반적으로 'self'인 첫 번째 매개변수를 가지고 있어야 함.
'코딩공부 > Python' 카테고리의 다른 글
[python]try, except(ZeroDivisionError,ValueError) / TIL_220914 (0) | 2022.09.14 |
---|---|
[python]로또 번호 생성 코드 작성하기 / TIL_220908 (0) | 2022.09.08 |
[python]숫자야구 게임 구현해보기 (허접함주의) / TIL_220907 (0) | 2022.09.07 |
[python]함수 def / TIL_220906 (0) | 2022.09.06 |
[python]'int' object is not iterable / TIL_220905 (0) | 2022.09.05 |
댓글