0. Introduction
이번 내용은 Python basic 14: 파이썬 클래스(class)에 이어 진행한다.
예시코드는 Python basic 24에서 작성한 코드를 이어서 사용한다.
|
|
1. Self의 의미
각 인스턴스의 고유값을 인자로 받는 매개변수로, 고유값은 인스턴스뿐만 아니라 클래스도 가진다.
self._속성
으로 입력하기 때문에, 각 인스턴스마다 자신의 영역에 저장할 수 있다.self._속성
입력 시, 언더바(_)를 사용하는 이유??- PEP에서 권장하기 때문에 인스턴스 변수를 만들 때 underbar를 사용한다.
- 언더바의 의미는 [TIL] Python basic 43: Underscore을 참고하라.
|
|
- Instance를 만들기 위한 class도 고유 id 값을 가지고 있다.
|
|
2. dir, __dict__ 그리고 __doc__
2.1 dir 과 __dict__
dir 과 __dict__의 차이는 [TIL] Python basic 14: class을 참고하라
|
|
2.2 __doc__
multi-line으로 입력된 comment가 출력되는 magic method
- 코멘트를 입력할 때는 # 도 되지만,
""" """
을 통해서 multi-line으로 입력할 수 있다. - 상세한 설명을 적으면 doc 예약어를 호출하여 다른 사람들이 확인할 수 있다.
- 필수적인 건 아니지만, 이러한 원칙을 정해서 개발하는게 실력 향상에 좋다.
- 그리고, 이런 게 하나 하나 모여서 실력 있는 개발자가 된다.
|
|
3. Method의 3종류
Method의 세 종류: class method, Instance method, Static Method
Method를 만들어서 사용하는 이유
- class에 속한 모든 변수들(class variables, instance variables)에 직접 접근해서 사용하는 것보다, method를 통해 사용하는 방법이 ‘캡슐화’ 성질을 고려했을 때, 좋은 방법이기 때문이다.
Static method는 그럼 무엇인가??
- python 전문 서적을 보면 static method가 굳이 필요한지 의문성을 보이는 만큼 반드시 필요하진 않지만 개념적으로 알고 있자.
- 클래스 변수, 인스턴스 변수를 받기에 조금 적절하지 않을 때 클래스 변수와 인스턴스 변수를 사용하지 않는 대책으로 사용한다. 그래서 위 method들과는 달리, 아무것도 받지 않는다.
- 또한,
@staticmethod
라는 decorator를 입력한다.
Method Class method Instance method Static method Parameter cls self X Purpose 클래스 변수를 사용하기 위해 인스턴스 변수를 사용하기 위해 옆 두 method에 대한 대책으로 사용 Decorator @classmethod x @staticmethod [TIL] Python basic 14: class - class method, instance method 와 [TIL] Python basic 14: class - class, instance variable 를 참고하자
|
|
- 각 method를 사용하여 variable에 접근하자.
|
|