Skip to content

[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#655

Closed
Nieams wants to merge 4 commits into
SENATOROVAI:mainfrom
Nieams:branch-for-task-#4
Closed

[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#655
Nieams wants to merge 4 commits into
SENATOROVAI:mainfrom
Nieams:branch-for-task-#4

Conversation

@Nieams

@Nieams Nieams commented Jul 13, 2026

Copy link
Copy Markdown
Member

@Nieams Nieams left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сабмичу

Comment thread python/cpython.py
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
# ![image.png](attachment:image.png)
#
# Задание 2: Исследование структуры CPython
# ![image-2.png](attachment:image-2.png) and C:\Users\1\AppData\Local\Python\pythoncore-3.14-64
# В папке include 79 файлов с расширением .h, написанных на си. Также в каждой папке на следующем уровне в немалом количестве содержатся файлы с таким же расширением. ![image-3.png](attachment:image-3.png)
#
# Задание 3: Запуск файла с помощью CPython
# ![image-5.png](attachment:image-5.png)
#
# Задание 4: Установка и использование PyPy
# ![image-4.png](attachment:image-4.png)
#
# Задание 5: Сравнение производительности CPython и PyPy
# ![image-6.png](attachment:image-6.png)
# На скриншоте можно видеть, что PyPy выполнил данную программу значительно быстрее (примерно в 153 раза быстрее)
#
#
#
#
#

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сделай ревью

@Toleranzy

Copy link
Copy Markdown
Member

review done

@Toleranzy Toleranzy closed this Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants