Глава 1. Начинаем работать с исходным кодом CPython
Когда вы набираете python
в своей консоли или устанавливаете дистрибутив Pytgon с
Python.org вы запускаете CPython.
CPython это одна из множества реализаций Python сопровождаемая и пишущаяся различными командами разработчиков. Некоторыми из
альтернатив, о которых вы могли слышать, это
PyPy, Cython и
Jython.
Уникальность CPython состоит в том, что он содержит как среду выполнения, так и спецификацию совместно используемого языка программирования, которую применяют все прочие реализации Python. CPython это официальная или справочная реализация Python.
Собственно Спецификация языка Python это тот документ, который описывает язык
Python. Например, она декларирует, что assert
это зарезервированное ключевой слово и что
[]
применяются для индексации, расщепления и создания пустых списков.
Задумайтесь о тех функциональных возможностях, которые вы ожидаете от своего дистрибутива Python:
-
После того как вы набираете
python
без некого файла или модуля, это снабжает вас интерактивным приглашением на ввод (REPL). -
Вы можете импортировать встроенные модули, такие как
json
,csv
иcollections
из имеющейся стандартной библиотеки. -
Вы можете устанавливать пакеты из Интернета при помощи
pip
. -
Вы можете тестировать свои приложения при помощи встроенной библиотеки
unittest
.
Всё это части вашего дистрибутива CPython. Он содержит намного больше чем просто компилятор.
В этой книге мы исследуем различные части дистрибутива CPython:
-
Спецификацию самого языка программирования
-
Его компилятор
-
Модули его стандартной библиотеки
-
Типы его ядра
-
Его комплект тестирования
Исходный код дистрибутива CPython поставляется совместно с целым диапазоном инструментов, библиотек и компонентов, которые вы исследуете в этой книге.
![]() | Замечание |
---|---|
Эта книга нацелена на версию 3.9 исходного кода CPython. |
Чтобы выгрузить копию исходного кода CPython, вы можете воспользоваться git чтобы вытянуть самую последнюю версию:
$ git clone --branch 3.9 https://github.com/python/cpython
$ cd cpython
Все примеры в данной книге основываются на Python версии 3.9.
![]() | Совет |
---|---|
Важно переключиться на ветку 3.9. Основная ветка меняется ежечасно. Многие примеры и упражнения из данной книги вряд ли подойдут для главной ветки. |
![]() | Замечание |
---|---|
Если у вас не доступен Git, вы можете установить его с git-scm.com. В качестве альтернативы вы можете выгрузить файл ZIP исходного кода CPython напрямую с вебсайта GitHub. Если вы выгрузили этот исходный код в виде файла ZIP, тогда он не будет содержать никаких истории, тегов или ветвей. |
Внутри только что выгруженного каталога cpython
вы обнаружите следующие подкаталоги:
Далее вы настроите свою среду разработки.
-
Сетевые протоколы для профессионалов безопасности, Йорам Орзач, Дипаншу Ханна, Packt Publishing, октябрь 2022
-
JavaScript для хакеров. Научитесь думать как хакер, Гарет Хейс, Leanpub, декабрь 2022
-
Как заниматься взломом словно легенда. Прорываемся в Windows, Спарк Флоу, No Starch Press, октябрь 2022
-
Управление оперативной памятью в реляционных системах баз данных, Педро Мехия Альварес, Марсело Леон Айяла, Сусана Ортега Сиснерос, Springer, август 2022
-
Атакующий код запуска оболочки с нуля, Ришалин Пиллэй, Packt Publishing, май 2022
-
Linux подсистема Windows (WSL) для профессионалов, Хайден Барнс, Apress, июнь 2021
-
Внутреннее устройство CPython, Энтони Шоу, Real Python, январь 2021
-
Контейнеры Linux и Виртуализация: с точки зрения ядра, Шашанк Мохан Джейн, Apress, октябрь 2020
-
Изучаем подсистемы Windows для Linux, Прэйтик Сингх, Apress, сентябрь 2020
-
Всё что требуется для RabbitMQ, 2е изд., Ловайса Йохансон, Дэйвид Доссо, Packt Publishing, август 2020
-
Практика загрузки. Изучение процесса загрузки Linux, Windows и Unix, Йогеш Бабар, Apress, июль 2020
-
Распределённые системы для практиков, Даймос Раптис, Leanpub, май 2020
-
Практическая автоматизация предприятия в Linux, Джеймс Фриман, Packt Publishing, январь 2020, Действенное выполнение крупномасштабной автоматизации инфраструктуры Linux с применением Ansible.
-
Внутреннее устройство баз данных, Алекс Петров, O`Reilly Media, Inc., октябрь 2019
-
Книга рецептов параллельного программирования Python. 2е изд., Джанкарло Закконе, Packt Publishing, сентябрь 2019
-
Полное руководство Ansible. 3е изд., Джеймс Фриман и Джесс Китинг, Packt Publishing, март 2019
-
Книга рецептов NGINX Дерек ДеДжонге, O’Reilly Media, Inc, ноябрь 2018
-
Полное руководство Ceph, 2е изд. Ник Фиск, Packt Publishing, февраль 2019
-
Docker для разработчиков Rails Роб Айзенберг, The Pragmatic Programmers, LLC., февраль 2019, с дополнениями по настройкам Django и 100Gb IB
-
Глава 11. SQL Server и контейнеры (включая Kubernetes) Боб Вордс, "Профессиональный SQL Server поверх Linux", Apress, октябрь 2018
-
Полное руководство параллельного программирования на Python Куан Нгуен, Packt Publishing, ноябрь 2018
-
Asyncio в Python 3 Цалеб Хаттингх, O’Reilly Media, Inc, март 2018
-
RabbitMQ для профессионалов Гайвин Рой, Manning Publications, сентябрь 2017
-
Proxmox. Полное руководство. 3е изд Васим Ахмед, Packt Publishing, ноябрь 2017
-
Книга рецептов Ceph, 2е изд Викхайят Умрао,Мишель Хаккет,Каран Сингх, Packt Publishing, ноябрь 2017
-
Изучаем Ceph, 2е изд., Энтони Д`Атри, Вайбхав Бхембре, Каран Сингх, Packt Publishing, октябрь 2017
-
Книга рецептов виртуализации KVM Константин Иванов, Packt Publishing, июнь 2017
-
Полное руководство работы с сетями на Python. Эрик Чоу, Июнь 2017
-
Контейнеризация при помощи LXC Константин Иванов, Packt Publishing, март 2017
-
Proxmox. Полное руководство. 2е изд., Васим Ахмед, Packt Publishing, май 2016
-
Книга рецептов Ceph Каран Сингх, Packt Publishing, февраль 2016
-
Полная виртуализация. Базовая коммерческая редакция: Proxmox-freeNAS-Zentyal-pfSense. Ли Р. Сюрбер, февраль 2016
-
Zabbix. Полное руководство. 2е изд., Андреа Далле Ваккье, сентябрь 2015
-
Книга рецептов Proxmox. Главы 1-6, Дополнения: Преобразование OpenVZ в LXC, Организация ограждения Васим Ахмед, Packt Publishing, август 2015
-
Изучаем Ceph Каран Сингх, Packt Publishing, январь 2015
Дополнительные ссылки:
Перевод: Copyright © 2016-2021 ![]() All rights reserved. Ссылки обязательны (Refs and links are obligatory). | http://www.mdl.ru портфолио SD DC |
HPE DL360 G10 since 4300$ |