Cpython Internals!
이 저장소는 cpython 소스코드에 대한 나의 노트/블로그 입니다.
cpython 구현의 모든 상세한 부분들을 설명하도록 할 것 입니다.
```shell script
3.8.0a0 버전을 기반으로 합니다.
cd cpython git reset –hard ab54b9a130c88f708077c2ef6c4963b632c132b3
```
다음의 내용들은 파이쎤 프로그래밍 경험이 있거나 파이썬 인터프리터 내부 구현에 관심이 있는 사람들을 위한 것이며, 초보자나 고급 자료가 필요하다면 awesome-python-books 을 참고하세요.
목차
- 객체들(Objects)
- 모듈들(Modules)
- 라이브러리(Lib)
- 인터프리터(Interpreter)
- 확장(Extension)
- 공부할 자료(Learning material)
- 기여(Contribution)
- 라이센스(License)
객체들(Objects)
- dict
- long/int
- unicode/str
- set
- list(timsort)
- tuple
- bytes
- bytearray(buffer protocol)
- float
- func(user-defined method)
- method(builtin method)
- iter
- gen(generator/coroutine/async generator)
- class(bound method/classmethod/staticmethod)
- complex
- enum
- type(mro/metaclass/creation of class/instance)
모듈들(Modules)
라이브러리(Lib)
- re(regex)
- asyncio
인터프리터(Interpreter)
- gil(Global Interpreter Lock)
- gc(Garbage Collection)
- memory management
- descr(how does attribute access work/
__get__/__getattribute__/__getattr__) - exception(exception handling)
- module(how does import work)
- frame
- code
- slots/
__slots__(how does attribute initialized in the creation of class/instance) - thread
- PyObject(overview)
확장(Extension)
- C API(profile python code and write pure C extension)
- Cython(C extension)
- Boost C++ libaries (C++ extension)
- C++ extension - [x] integrate with NumPy - [x] bypass the GIL
문법(Grammar)
공부할 자료(Learning material)
읽어본 자료들만 추천할 것 입니다.
- CPython internals - Interpreter and source code overview(youtube video)
- < < Inside The Python Virtual Machine > >
- < < Python源码剖析 > >
- rushter(blog/eng)
- YET ANOTHER PYTHON INTERNALS BLOG(blog/eng)
- Junnplus(blog/cn)
- manjusaka(blog/cn)
- aoik-Python’s compiler series(blog/eng)
기여(Contribution)
모든 기여는 환영입니다!
- pull request 제출하기
- 당신이 공유하기를 원하는 지식
- 새로운 내용 추가
- 기술적 결함 교정
- 영어 문법 교정
- 번역
- 그밖에 다른 무엇이든지
- issue 열기
- 제안
- 질문
- 실수 교정
- 그밖에 다른 무엇이든지