[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#655
Closed
Nieams wants to merge 4 commits into
Closed
[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#655Nieams wants to merge 4 commits into
Nieams wants to merge 4 commits into
Conversation
Nieams
commented
Jul 13, 2026
Comment on lines
+1
to
+79
| """TASK Cpython 4.""" | ||
|
|
||
| # Введение в Python и CPython | ||
| # 1. Что такое CPython и чем он отличается от Python? Cpython - это реализация языка программирования python (основная), она отличается от Python тем, что для ее создания использовался язык программирования C (все ядро написано на языке си) | ||
| # 3. Сколько существует реализаций Python, и какая из них самая популярная? Существует 6 реализаций языка пайтон, самая популярная - Cpython (в видео руслана), гугл говорит что больше, и точное число сложно назвать, так как периодически появляются новые | ||
| # 4. На каком языке написан CPython? ЯП C | ||
| # | ||
| # | ||
| # | ||
| # Поиск и установка CPython | ||
| # 5. (опционально) Кто создал CPython? CPython создал Гвидо ван Россум (Guido van Rossum), голландский программист, который также является автором самого языка Python | ||
| # | ||
| # 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык? Основная причина в том, что сипайтон написан на ЯП Си, также (это относится к скорости разработки) у пайтона очень удобный короткий синтаксис, который ускоряет разработку программ (в сравнении с многими другими ЯП) | ||
| # | ||
| # 7. Напишите путь к Интерпретатору CPython на вашем компьютере: C:\Users\1\AppData\Local\Python\pythoncore-3.14-64 | ||
| # | ||
| # | ||
| # | ||
| # Структура CPython | ||
| # 8. Что содержится в папке include в CPython? заголовочные файлы, написанные на C: | ||
| # Зачем они нужны: Они содержат объявления функций, макросов и структур данных (например, базовую структуру любого объекта в Python — PyObject). | ||
| # Роль в экосистеме: Именно эти файлы используются, когда разработчики пишут свои расширения на Си/C++ (C Extensions) для Python, чтобы интегрировать сторонний код с виртуальной машиной CPython. | ||
| # | ||
| # 9. Где можно найти исходный код CPython, дайте ссылку на репозиторий гитхаб: https://github.com/python/cpython | ||
| # | ||
| # 10. (опционально) Как работает интерпретатор CPython при выполнении кода? Интерпретатор Cpython - это программа, написанная на си, которая читает и выполняет код, написанный на пайтон построчно (промежуточно переводя его в байткод) | ||
| # | ||
| # Компиляция в байт-код: CPython берет ваш .py файл, проверяет синтаксис и переводит его в промежуточный байт-код (набор простых инструкций).Запуск PVM (Python Virtual Machine): Программа на Си (интерпретатор) запускает бесконечный цикл. | ||
| # Построчное выполнение: Внутри этого цикла интерпретатор берет одну инструкцию байт-кода, находит соответствующую ей функцию, написанную на Си, и выполняет её на процессоре. Затем переходит к следующей. | ||
| # | ||
| # | ||
| # | ||
| # Запуск файла с помощью CPython | ||
| # | ||
| # 11. Какая команда используется для запуска файла с помощью CPython? cmd - для запуска командной строки. Для того чтобы запустить файл непосредственно, пишем путь до интерпретатора + пробел + путь до запускаемого файла | ||
| # | ||
| # 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему? Да, потому что пайтон - интерпретируемый язык, то есть ему важно именно видеть команды в текстовом формате | ||
| # | ||
| # 13. Как указать путь к интерпретатору и файлу для выполнения кода? Указывать нужно полный путь до файла, включая название и расширение файла (через слэш после копирования из верхней строки в проводнике, в нужной директории) | ||
| # | ||
| # | ||
| # Введение в PyPy | ||
| # | ||
| # 14. Чем PyPy отличается от CPython? Главные отличия PyPy от Cpython - это скорость (гораздо быстрее, благодаря JIT компиляции) и совместимость (к сожалению хуже с некоторыми библиотеками, так как написан на Rpython, для запуска библиотек, написанных на си, ему нужно запускать эмулятор, который тормозит и приводит к ошибкам) | ||
| # 15. Почему PyPy не может использоваться для всех проектов на Python? Из-за плохой совместимости с некоторыми библиотеками, медленного разогрева (короткие программы обычно медленнее, чем на Cpython), отставание к по отношению к новым версиям языка, более высокое потребление оперативной памяти | ||
| # 16. Где можно скачать PyPy? https://pypy.org/ | ||
| # | ||
| # | ||
| # Установка и запуск PyPy | ||
| # | ||
| # 17. Как установить PyPy после скачивания? Распаковать скачанный архив в любую удобную директорию | ||
| # 18. Как запустить файл с помощью PyPy? В командной строке ввести полный путь до интерпретатора + пробел + полный путь до файла (пути содержат названия файлов с их расширениями) | ||
| # 19. Почему PyPy выполняет код быстрее, чем CPython? PyPy работает быстрее за счёт JIT-компиляции (Just-In-Time). В отличие от CPython, который переводит код по одной строчке на ходу, PyPy анализирует программу прямо во время её работы. | ||
| # | ||
| # | ||
| # | ||
| # Практические задания | ||
| # | ||
| # Задание 1: Поиск и установка CPython | ||
| #  | ||
| # | ||
| # Задание 2: Исследование структуры CPython | ||
| #  and C:\Users\1\AppData\Local\Python\pythoncore-3.14-64 | ||
| # В папке include 79 файлов с расширением .h, написанных на си. Также в каждой папке на следующем уровне в немалом количестве содержатся файлы с таким же расширением.  | ||
| # | ||
| # Задание 3: Запуск файла с помощью CPython | ||
| #  | ||
| # | ||
| # Задание 4: Установка и использование PyPy | ||
| #  | ||
| # | ||
| # Задание 5: Сравнение производительности CPython и PyPy | ||
| #  | ||
| # На скриншоте можно видеть, что PyPy выполнил данную программу значительно быстрее (примерно в 153 раза быстрее) | ||
| # | ||
| # | ||
| # | ||
| # | ||
| # |
Member
|
review done |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes https://github.com/SENATOROVAI/intro-cs/issues/4