일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 카카오
- 제로베이스 데이터사이언스
- AI
- 딕셔너리
- 코딩도장
- 스크랩
- 머신러닝
- Set
- 추천시스템
- Python
- 파이썬
- 딥러닝
- 데이터분석
- 데이터사이언스 스쿨
- 재귀함수
- AIFFEL
- 사이킷런
- 데이터사이언티스트
- TensorFlow
- 클래스
- 속성
- 파이썬코딩도장
- 함수
- 아이펠
- 자연어처리
- 제어문
- numpy
- 후기
- 기사
- NLP
- Today
- Total
뮤트 개발일지
Python 특수 메소드, private, public 변수 본문
__init__ (): 생성자. 객체가 생성된 후 가장 먼저 호출되는 메소드. 첫 번째 매개변수는 self이며 이후에 매개변수 추가 가능하다.
__del__(): 소멸자. 객체가 소멸될 때 호출되는 메소드. self 이외의 매개변수는 받지 않는다.
* del 객체이름 을 입력하면 삭제가능
@staticmethod: 정적 메소드. 인스턴스를 생성하지 않고 클래스를 이용해서 직접 호출할 수 있다. 메소드 내에서 멤버 변수를 호출할 수 없고, self 매개변수도 사용하지 않는다.
예)
class 클래스이름:
@staticmethod
def 메소드이름(매개변수):
코드
@classmethod: 클래스 메소드. 정적 메소드와 유사. 그러나 첫 번째 변수로 클래스 객체가 전달되는 것이 다르다.
예)
class 클래스이름:
@classmethod
def 메소드이름(cls):
코드
private, public 변수
private 변수: 내부에서는 접근가능 하지만 클래스 외부에서는 접근이 안됨
public 변수: 클래스 외부에서 접근 가능
*파이썬의 경우 기본적으로 모든 멤버는 public
변수 이름 앞에 __를 붙이면 숨길 수 있고 setter을 통해 변경, getter을 통해 값 불러오기가 가능하다.
예)
class name:
def __init__(self):
self.__x = 1
def x_getter(self):
return self.__x
def x_setter(self, value):
self.__x = value