[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#516
Closed
stokato wants to merge 5 commits intoSENATOROVAI:mainfrom
Closed
[TASK] Cpython #4 (https://github.com/SENATOROVAI/intro-cs/issues/4)#516stokato wants to merge 5 commits intoSENATOROVAI:mainfrom
stokato wants to merge 5 commits intoSENATOROVAI:mainfrom
Conversation
stokato
commented
Jan 8, 2026
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 |
Member
There was a problem hiding this comment.
Все ок. Не вижу никаких проблем.
Bo-stud1
approved these changes
Jan 8, 2026
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