30분
특수 메서드: 클래스를 더 파이썬답게
Day 2: 클래스 - 데이터와 행동을 묶다
특수 메서드: 클래스를 더 파이썬답게
Python 기초 2: 함수, 클래스, 모듈, 파일 > Day 2: 클래스 - 데이터와 행동을 묶다
학습 목표
__str__, __repr__의 차이를 이해한다 __eq__, __lt__ 등 비교 메서드를 활용한다 연산자 오버로딩을 이해한다
문제: print(user)하면 뭐가 나올까?
에디터 로딩 중...
뭔지 하나도 모르겠다.
str: 사람을 위한 문자열
에디터 로딩 중...
repr: 개발자를 위한 표현
에디터 로딩 중...
__str__은 사용자용, __repr__은 개발자용
둘 다 정의 안 하면 __repr__이 str 대신 사용됨.
비교 메서드
에디터 로딩 중...
연산자 오버로딩
에디터 로딩 중...
주요 특수 메서드 정리
| 메서드 | 용도 | 예시 |
|---|---|---|
| init | 생성자 | obj = Class() |
| str | 문자열 변환 | str(obj), print(obj) |
| repr | 표현 | 인터프리터 출력 |
| eq | 동등 비교 | obj1 == obj2 |
| lt | 작다 비교 | obj1 < obj2 |
| le | 작거나 같다 | obj1 <= obj2 |
| add | 덧셈 | obj1 + obj2 |
| len | 길이 | len(obj) |
| getitem | 인덱싱 | obj[key] |
| iter | 반복 | for x in obj |
| bool | 참/거짓 | if obj: |
실무 예제: Money 클래스
에디터 로딩 중...