오늘 TIL 3줄 요약
- 파이썬의 자료형은 모두 객체 
- 다양한 모듈들, 특히 딕셔너리와 관련된 특수 형태의 컨테이너 자료형들을 활용하자 
- defaultdict,- Counter,- OrderedDict
TIL (Today I Learned) 날짜
- 2022.07.20. WED 
오늘 읽은 범위
- 파이썬 알고리즘 인터뷰 5장 리스트, 딕셔너리 
책에서 기억하고 싶은 내용을 써보세요.
- 파이썬은 모든 것이 객체다.리스트 또한 객체에 대한 포인터목록을 관리하는 형태로 구현되어 있다. - // CPython 에서 리스트는 요소에 대한 포인터목록을 갖고 있는 구조체로 선언되어 있다. typeof struct { PyObject_VAR_HEAD PyObject **ob_item; // 포인트 목록으로 사이즈를 조절하는 형태로 리스트요소 추가가 구현된다. Py_ssize_t allocated; } pyListObject;
- 이로인해 파이썬의 리스트는 배열과 연결 리스트를 합친듯한 강력한 기능을 제공할 수 있다.(그 과정에서 속도는 희생된다) 
- 파이썬의 딕셔너리는 숫자, 문자, 집합까지 불변 객체를 모두 키로 사용한다. 이 과정을 해싱이라고 하며, 해시 테이블을 이용해 자료를 저장한다. 입력과 조회는 O(1)에 가능하다.(최악의 경우에는 O(n)) 
- 3.7버전부터는 Dict의 입력순서가 유지되나, 3.6이하에서는 - collections.OrderedDict()라는 별도 자료형을 이용해야 유지된다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 당연하지만 다양한 내장 모듈들을 이해하고 문제풀이에 적용하는 것이 중요할듯.. 
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- CPython? - 파이썬 프로그래밍언어의 참조 구현체. 내부가 C 언어로 구현된 파이썬이며 코드는 여기에서 확인가능.
- 이름에서 추측할 수 있듯 CPython 외에도 JVM에서 실행할 수 있는 Jython도 있으며 python으로 구현한 pypy도 있다고한다.
 
'개발 > 북TIL' 카테고리의 다른 글
| 파이썬 알고리즘 인터뷰 9, 10, 11장 - 스택, 큐, 데크, 우선순위 큐, 해시 테이블 (0) | 2022.11.07 | 
|---|---|
| [북TIL] 파이썬알고리즘인터뷰 6. 문자열 조작 (0) | 2022.07.27 | 
| [북TIL] 파이썬 알고리즘 인터뷰 1~3장 (0) | 2022.07.14 | 
| [북TIL] 실용주의 프로그래머 4. 실용주의 편집증 (0) | 2022.05.20 | 
| [북TIL] 실용주의 프로그래머 3. 기본도구 (0) | 2022.05.18 |