Skip to content

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

Closed
stokato wants to merge 5 commits intoSENATOROVAI:mainfrom
stokato:main
Closed

[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#516
stokato wants to merge 5 commits intoSENATOROVAI:mainfrom
stokato:main

Conversation

@stokato
Copy link
Copy Markdown
Member

@stokato stokato commented Jan 8, 2026

Copy link
Copy Markdown
Member Author

@stokato stokato left a comment

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 +246
"""Квиз и практика по пайтон."""

# 1. Что такое CPython и чем он отличается от Python?
#
# Ответ:
#
# CPython — стандартная реализация Python на языке C. Это та версия, которую обычно скачивают с python.org.
#
# Разница:
# Python — язык программирования (спецификация)
# CPython — реализация этого языка на C
#
#
# 2. Сколько существует реализаций Python, и какая из них самая популярная?
#
# Ответ:
#
# 6 реализаций
# CPython - самая популярная
#
#
# 4. На каком языке написан CPython?
#
# Ответ:
#
# Язык С
#
#
# 5. (опционально) Кто создал CPython?
#
# Ответ:
#
# Гвидо ван Россум
#
#
# 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?
#
# Ответ:
#
# Потому что он написан на C и вызывает инструкции из C
#
#
# 7. Напишите путь к Интерпретатору CPython на вашем компьютере
#
# Ответ:
#
# ~/AppData/Local/Programs/Python/Python310/python.exe
#
#
# 8. Что содержится в папке include в CPython?
#
# Ответ:
#
# заголовочные файлы с расширением .h
#
#
# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб
#
# Ответ:
#
# https://github.com/python/cpython
#
#
# 10. (опционально) Как работает интерпретатор CPython при выполнении кода?
#
# Ответ:
#
# Парсинг — исходный код разбирается в AST (абстрактное синтаксическое дерево).
# Компиляция в байт-код — AST компилируется в байт-код (.pyc), который хранится в папке __pycache__.
#
# Виртуальная машина (VM) — байт-код выполняется стековой виртуальной машиной:
# Читает инструкции байт-кода
# Выполняет их через C-функции
# Управляет стеком вызовов, объектами в памяти, GIL
# Выполнение — каждая инструкция байт-кода вызывает соответствующую C-функцию, которая выполняет операцию.
#
#
# 11. Какая команда используется для запуска файла с помощью CPython?
#
# Ответ:
#
# python filename
#
# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?
#
# Ответ:
#
# Да, можно
# Интерпретатору без разницы какой формат файла, главное, чтобы был валидный пайтон код
#
# 13. Как указать путь к интерпретатору и файлу для выполнения кода?
#
# Ответ:
#
# Через Абсолютный или относительный путь, или если есть алиас в переменных средах, то через него
#
# 14. Чем PyPy отличается от CPython?
#
# Ответ:
#
# PyPy — альтернативная реализация Python с JIT-компиляцией, быстрее CPython для многих задач, но с ограничениями по совместимости с C-расширениями
#
# 15. Почему PyPy не может использоваться для всех проектов на Python?
#
# Ответ:
#
# Не совместим со всеми проектами на Python
#
#
# 16. Где можно скачать PyPy?
#
# Ответ:
#
# https://pypy.org/download.html
#
#
# 17. Как установить PyPy после скачивания?
#
# Ответ:
#
# Распаковать в нужную папку и прописать пути в переменных средах
#
# 18. Как запустить файл с помощью PyPy?
#
# Ответ:
#
# pypy filename
# Или абсолютный путь до интерпретатора:
# ~/pypy/pypy.exe filename
#
# 19. Почему PyPy выполняет код быстрее, чем CPython?
#
# Ответ:
#
# PyPy быстрее за счёт JIT-компиляции часто используемого кода в машинный код, что устраняет интерпретацию байт-кода.

# Задание 1: Поиск и установка CPython
#
# Проверьте, установлен ли CPython на вашем компьютере:
# Используйте поиск в меню "Пуск" (Windows) или терминале (Linux/Mac).
# Введите команду python --version или python3 --version в терминале.
# Если CPython не установлен, скачайте его с официального сайта Python https://www.python.org/downloads/ и установите.
#
#
# Решение:
#
#
# C:\Users\demya>where python
# C:\Users\demya\anaconda3\python.exe
# C:\Users\demya\AppData\Local\Programs\Python\Python310\python.exe
# C:\Users\demya\AppData\Local\Programs\Python\Python311\python.exe
# C:\ProgramData\miniconda3\python.exe
# C:\Users\demya\AppData\Local\Microsoft\WindowsApps\python.exe
# C:\Users\demya\pypy\python.exe
#
#
# C:\Users\demya>python --version
# Python 3.13.9

# Задание 2: Исследование структуры CPython
#
# Найдите папку, где установлен Python (например, через команду which python в терминале или свойства ярлыка).
# Откройте папку include и изучите её содержимое. Какое количество файлов на C там есть?
# Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте.
#
# Решение:
#
# C:\Users\demya\anaconda3\include
# 79 файлов
#

# Задание 3: Запуск файла с помощью CPython
#
# Создайте текстовый файл example.txt с содержимым:
#
# print("Hello from CPython!")
#
# Запустите файл через команду python <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).
# Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.
#
#
# Решение:
#
# C:\Users\demya>echo print("Hello from CPython!") > example.txt
#
# C:\Users\demya>python example.txt
# Hello from CPython!
#
# C:\Users\demya>move example.txt example.py
# 1 file(s) moved.
#
# C:\Users\demya>python example.py
# Hello from CPython!
#

# Задание 4: Установка и использование PyPy
#
# Перейдите на [официальный сайт PyPy](https://www.pypy.org/) и скачайте подходящую версию для вашей операционной системы.
# Распакуйте скачанный архив в удобное место.
# Создайте файл example_pypy.py с кодом:
#
# print("Hello from pypy!")
#
# Запустите файл через PyPy
# pypy <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).
# Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.
#
# Решение:
#
# C:\Users\demya>echo print("Hello from pypy!") > example_pypy.py
#
# C:\Users\demya>pypy example_pypy.py
# Hello from pypy!

# Задание 5: Сравнение производительности CPython и PyPy
#
# Создайте файл performance_test.py с кодом:
#
# import time
# start_time = time.time()
# total = 0
# for i in range(1, 10000000):
# total += i
# end_time = time.time()
#
# print("Result:", total)
# print("Execution time:", end_time - start_time, "seconds")
#
# Запустите этот файл сначала через CPython, а затем через PyPy. Запишите результаты времени выполнения для обоих интерпретаторов.
#
# Сделайте вывод о разнице в производительности.
#
# Решение:
#
# CPython:
#
# C:\Users\demya>python performance_test.py
# Result: 49999995000000
# Execution time: 0.7137529850006104 seconds
#
#
# Pypy:
#
# C:\Users\demya>pypy performance_test.py
# Result: 49999995000000
# Execution time: 0.023383617401123047 seconds
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.

сделай ревью

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Все ок. Не вижу никаких проблем.

Copy link
Copy Markdown
Member

@Bo-stud1 Bo-stud1 left a comment

Choose a reason for hiding this comment

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

Review done

Copy link
Copy Markdown
Member

@Bo-stud1 Bo-stud1 left a comment

Choose a reason for hiding this comment

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

review done

@stokato stokato closed this Jan 8, 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.

3 participants