Внутри CPYTHON: Гид по интерпретатору Python

Оглавление⌄
Об авторе....13 О группе редакторов....13 Предисловие....14 Введение....16 Как использовать эту книгу....17 Дополнительные материалы и учебные ресурсы....18 Загрузка исходного кода CPython....21 Что в исходном коде?....22 Настройка среды разработки....24 IDE или редактор?....24 Настройка Visual Studio....25 Настройка Visual Studio Code....28 Настройка Vim....36 Выводы....40 Компиляция CPython....41 Компиляция CPython на macOS....42 Компиляция CPython на Linux....44 Установка специализированной версии....46 Знакомство с Make....46 Make-цели CPython....48 Компиляция CPython на Windows....51 Профильная оптимизация....56 Выводы....58 Грамматика и язык Python....59 Почему CPython написан на C, а не на Python....60 Спецификация языка Python....62 Генератор парсеров....66 Повторное генерирование грамматики....67 Выводы....71 Конфигурация и ввод....73 Конфигурация состояния....75 Структура данных конфигурации среды выполнения....77 Конфигурация сборки....79 Сборка модуля из входных данных....80 Выводы....85 Лексический анализ и парсинг с использованием синтаксических деревьев....87 Генерирование конкретного синтаксического дерева....88 Парсер/токенизатор CPython....91 Абстрактные синтаксические деревья....96 Важные термины....104 Пример: добавление оператора «почти равно»....104 Выводы....109 Компилятор....110 Исходные файлы....111 Важные термины....111 Создание экземпляра компилятора....112 Флаги будущей функциональности и флаги компилятора....114 Таблицы символических имен....116 Основная компиляция....121 Ассемблер....128 Создание объекта кода....131 Использование Instaviz для вывода объекта кода....133 Пример: реализация оператора «почти равно»....134 Выводы....139 Цикл вычисления....140 Исходные файлы....141 Важные термины....141 Построение состояния потока....142 Построение объектов кадров....143 Выполнение кадра....150 Стек значений....153 Пример: добавление элемента в список....157 Выводы....161 Управление памятью....163 Выделение памяти в C....163 Проектирование системы управления памятью Python....167 Аллокаторы памяти CPython....169 Область выделения объектной памяти и PyMem....178 Область выделения сырой памяти....181 Нестандартные области выделения памяти....181 Санитайзеры выделенной памяти....183 Арена памяти PyArena....185 Подсчет ссылок....186 Сборка мусора....192 Выводы....201 Параллелизм и конкурентность....203 Модели параллелизма и конкурентности....205 Структура процесса....205 Многопроцессорный параллелизм....208 Многопоточность....230 Асинхронное программирование....242 Генераторы....243 Сопрограммы....249 Асинхронные генераторы....254 Субинтерпретаторы....255 Выводы....259 Объекты и типы....260 Примеры этой главы....261 Встроенные типы....262 Типы объектов....263 Тип type....264 Типы bool и long....268 Тип строки Юникода....272 Словари....282 Выводы....287 Стандартная библиотека....288 Модули Python....288 Модули Python и C....290 Набор тестов....293 Запуск набора тестов в Windows....293 Запуск набора тестов в Linux или macOS....294 Флаги тестирования....295 Запуск конкретных тестов....295 Модули тестирования....296 Вспомогательные средства тестирования....297 Выводы....298 Отладка....299 Обработчик сбоев....299 Компиляция поддержки отладки....300 LLDB для macOS....301 GDB....305 Отладчик Visual Studio....307 Отладчик CLion....309 Выводы....314 Бенчмаркинг, профилирование и трассировка....315 Использование timeit для микробенчмарка....316 Использование набора тестов производительности Python....318 Профилирование кода Python с использованием cProfile....322 Профилирование кода C с DTrace....325 Выводы....330 Что дальше?....331 Создание расширений C для CPython....331 Улучшение приложений Python....332 Участие в проекте CPython....333 Дальнейшее обучение....336 Приложение. Введение в C для Python-программистов....338 Препроцессор C....338 Базовый синтаксис C....341 Выводы....348 Благодарности....349
Описание
Коротко и по делу о том, что важно знать про cpython.
Каждому python-разработчику на какой-то стадии необходимо будет узнать, как работает CPython. CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений. Это позволит в полной мере использовать его мощь и оптимизировать приложения. Вы разберетесь с основными концепциями внутреннего устройства CPython и научитесь: читать исходный код интерпретатора CPython и свободно ориентироваться в нем; вносить изменения в синтаксис Python и компилировать их в вашу собственную версию CPython; понимать внутреннюю реализацию таких структур, как списки, словари и генераторы; управлять памятью CPython; масштабировать код Python за счет параллелизма и конкурентного выполнения; дополнять базовые типы новой функциональностью; выполнять наборы тестов; профилировать и проводить бенчмарк Python-кода и исполнительной среды; отлаживать код C и Python на профессиональном уровне; изменять или обновлять компоненты библиотеки CPython, чтобы они могли использоваться в будущих версиях.
5 причин выбрать эту книгу:Первое исчерпывающее описание внутренних механизмов Python.Вы сумеете читать исходный код интерпретатора CPython и свободно ориентироваться в нем.Вооружившись углубленным пониманием CPython, усовершенствуете ваши Python-приложения.Создадите собственные расширения Python на языке С.И научитесь управлять памятью в CPython.
Файл доступен для загрузки ниже.
Поделиться
Частые вопросы
Можно ли скачать «Внутри CPYTHON: Гид по интерпретатору Python» бесплатно?
Да, «Внутри CPYTHON: Гид по интерпретатору Python» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF.
Кто автор и когда вышла книга?
автор — Шоу Энтони, издательство Питер, год выпуска 2023, 352 страниц.
О чём книга «Внутри CPYTHON: Гид по интерпретатору Python»?
CPython, самая популярная реализация Python, абстрагируется от сложностей ОС и предоставляет платформу для создания масштабируемых и высокопроизводительных приложений.