- 파이썬은 객체지향 언어이고 객체지향 언어의 핵심은 클래스입니다. 17장에서는 클래스 작성법과 클래스를 이용한 코드를 객체 지향 코드라고 하는 이유를 알게 됩니다. 지금까지 학습한 자료형을 다시 한 번 정리하고, 파이썬이 제공하지 않는 객체를 만들어야 하는 경우에 어떻게 클래스를 작성해야 하는지를 학습합니다.
1. 파이썬의 데이터 객체
- 모든 데이터를 '객체' 라고 부른다 이 객체는 '클래스' 를 통해서 만들어집니다.
- type() 함수를 적용해 보면 어느 클래스에서 만들어진 객체인지 알 수 있다.
- '객체.메소드()'라고 호출하여 어떤 객체에 적용하는 메소드임을 분명히 명시
2. 클래스 - 객체를 만드는 도구
메소드만을 갖는 클래스
- 객체를 만들려면 '객체명 = 클래스명()'
- 함수와 다른 점은 메소드 괄호 안에 첫번째 자리에는 반드시 self를 적어야 한다.
- '객체. 메소드명()' 의 형태로 호출해야 합니다.
데이터 속성 추가하기
- 생성자인 __ init __()을 통해서 할 수 있습니다. 객체를 생성할 때 자동으로 호출되는 특별한 메소드 입니다.
- __ init __ 메소드도 다른 메소드들처럼 첫번째 매개 변수로 self를 가져야 하고, 다음으로 객체의 속성 정보를 받는 매개 변수들을 넣으면 됩니다.
- self 는 메소드를 호출하는 객체의 정보를 갖게 됩니다.
self 변수
객체의 데이터 속성 이해하기
객체 출력하기
- 객체의 참조값은 객체 id입니다
- print(객체)를 수행하면 객체의 데이터 속성을 출력해 주지 않고 객체의 참조값을 출력하기 때문에, 객체의 데이터 속성을 출력하려면 따로 메소드를 만들어 주어야 합니다.
3. int 클래스 이해하기
__ init __ () 생성자
- 객체를 만드는 생성자입니다.
연산자 중복
- 연산자 중복 중에서 r로 시작하는 메소드들은 이항 연산자에서 피연산자로 바꾸어 계산합니다.
4. 컨테이너 자료형 클래스 이해하기
__ add __ 의 '+' 연산자 중복, __ mul __ 의 '*' 연산자 중복
- __ add __ 속성이 있는 자료형은 두 객체 간에 '+' 연산이 지원되고
- __ mul __ 속성이 있는 자료형은 '*' 연산을 지원
__ contains __, __ len __
- contains 메소드는 in , not in 연산을 지원합니다.
__ getitem __ 메소드
- set 자료형만 __ getitem__ () 메소드가 없다.
__ setitem , __ delitem 메소드
- 두 메소드는 리스트와 사전에만 있습니다.
- 인덱스 개념이 있는 mutable 자료형들에만 있다.
__ Iter __ () 메소드
- 어떤 객체가 iterable인지 판단
5. __ str__ , __ repr __ 메소드 이해하기
6. 정리
- 모든 자료형은 클래스로 구형되어 있다.
- 객체 데이터는 클래스 기반으로 하기 때문
- 아홉 가지 자료형 이해 객체를 어떻게 다루어야 하는지
- 클래스가 어떻게 만들어 지고 사용해야 하는지를 잘 알고 있어야 내장된 자료형과 다양한 모듈을 제대로 사용할 수 있다.
'Python 참조 > Python 책정리' 카테고리의 다른 글
[python 문법] dictionary 정리 (0) | 2022.10.19 |
---|---|
Chapter16 에러와 예외처리 (0) | 2022.05.04 |
Chapter15 모듈 (0) | 2022.05.04 |
Chapter14 파일 입출력 (0) | 2022.05.04 |
Chapter13 함수 (0) | 2022.05.04 |