Skip to content

Commit 80bf5e6

Browse files
committed
1 parent 9f100e3 commit 80bf5e6

1 file changed

Lines changed: 179 additions & 0 deletions

File tree

python/cpython.ipynb

Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": 1,
6+
"id": "c1ccfa97",
7+
"metadata": {},
8+
"outputs": [
9+
{
10+
"data": {
11+
"text/plain": [
12+
"'Quiz 4.'"
13+
]
14+
},
15+
"execution_count": 1,
16+
"metadata": {},
17+
"output_type": "execute_result"
18+
}
19+
],
20+
"source": [
21+
"\"\"\"Quiz 4.\"\"\""
22+
]
23+
},
24+
{
25+
"cell_type": "markdown",
26+
"id": "01f96160",
27+
"metadata": {},
28+
"source": [
29+
"1. Что такое CPython и чем он отличается от Python?\n",
30+
"Python - это язык программирования, а CPython - это и язык программирования, и интерпретатор одновременно. \n",
31+
"3. Сколько существует реализаций Python, и какая из них самая популярная?\n",
32+
"Существует 6 реализаций Python, самая популярная из них-CPython\n",
33+
"4. На каком языке написан CPython?\n",
34+
"CPython написан на языке С.\n",
35+
"5. (опционально) Кто создал CPython?\n",
36+
"CPython создал голландский программист Гвидо ван Россум.\n",
37+
"\n",
38+
"6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n",
39+
"Потому что ядро CPython написано на языке С, и он вызывает инструкции из С.\n",
40+
"\n",
41+
"7. Напишите путь к Интерпретатору CPython на вашем компьютере\n",
42+
"C:\\Users\\user\\anaconda3\\python.exe\n",
43+
"\n",
44+
"8. Что содержится в папке include в CPython?\n",
45+
"В папке include в CPython находятся заголовочные файлы на языке С.\n",
46+
"\n",
47+
"9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб.\n",
48+
"Ссылка на репозиторий гитхаб: https://github.com/python/cpython\n",
49+
"\n",
50+
"10. (опционально) Как работает интерпретатор CPython при выполнении кода?\n",
51+
"Интерпретатор CPython выполняет код пошагово, преобразуя его в машинные инструкции для компьютера.\n",
52+
"\n",
53+
"11. Какая команда используется для запуска файла с помощью CPython?\n",
54+
"python filename\n",
55+
"\n",
56+
"12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n",
57+
"Можно, так как интерпретатору неважно, какие файлы запускать, главное – валидный пайтон-код.\n",
58+
"\n",
59+
"13. Как указать путь к интерпретатору и файлу для выполнения кода?\n",
60+
"Через абсолютный или относительный путь. \n",
61+
"\n",
62+
"14. Чем PyPy отличается от CPython?\n",
63+
"Этот интерпретатор работает в 10 раз быстрее, чем CPython.\n",
64+
"\n",
65+
"15. Почему PyPy не может использоваться для всех проектов на Python?\n",
66+
"Это достаточно новый интерпретатор, и он ещё не совместим со всеми проектами на Python. \n",
67+
"\n",
68+
"16. Где можно скачать PyPy?\n",
69+
"По ссылке: https://pypy.org/download.html\n",
70+
"\n",
71+
"17. Как установить PyPy после скачивания?\n",
72+
"Извлечь папку и прописать пути в переменных средах.\n",
73+
"\n",
74+
"18. Как запустить файл с помощью PyPy?\n",
75+
"В командной строке Windows ввести абсолютный путь до интерпретатора, пробел, абсолютный путь до файла, нажать Enter.\n",
76+
"\n",
77+
"19. Почему PyPy выполняет код быстрее, чем CPython?\n",
78+
"PyPy использует Just-In-Time компилятор для компиляции Python в машинный код во время выполнения, что ускоряет работу.\n",
79+
"\n",
80+
"Практические задания\n",
81+
"Задание 1: Поиск и установка CPython\n",
82+
"Проверьте, установлен ли CPython на вашем компьютере:\n",
83+
" Используйте поиск в меню \"Пуск\" (Windows) или терминале (Linux/Mac).\n",
84+
" Введите команду python --version или python3 --version в терминале.\n",
85+
"Если CPython не установлен, скачайте его с официального сайта Python https://www.python.org/downloads/ и установите.\n",
86+
"\n",
87+
"C:\\Users\\user>python --version\n",
88+
"Python 3.13.9\n",
89+
"\n",
90+
"\n",
91+
"Задание 2: Исследование структуры CPython\n",
92+
"Найдите папку, где установлен Python (например, через команду where python в терминале или свойства ярлыка).\n",
93+
"Откройте папку include и изучите её содержимое. Какое количество файлов на C там есть?\n",
94+
"Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте.\n",
95+
"\n",
96+
"В папке include количество файлов на C: 77.\n",
97+
"\n",
98+
"C:\\Users\\user>where python\n",
99+
"C:\\Users\\user\\anaconda3\\python.exe\n",
100+
"C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python310\\python.exe\n",
101+
"C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe\n",
102+
"C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\python.exe\n",
103+
"\n",
104+
"C:\\Users\\user>\n",
105+
"\n",
106+
"Задание 3: Запуск файла с помощью CPython\n",
107+
"Создайте текстовый файл example.txt с содержимым:\n",
108+
"print(\"Hello from CPython!\")\n",
109+
"Запустите файл через команду python <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).\n",
110+
"Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.\n",
111+
"C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython3.exe C:\\Users\\user\\Desktop\\Test1\\example.txt\n",
112+
"Hello from CPython!\n",
113+
"\n",
114+
"C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython3.exe\n",
115+
"C:\\Users\\user\\Desktop\\Test1\\example.py\n",
116+
"Hello from CPython!\n",
117+
"\n",
118+
"\n",
119+
"Задание 4: Установка и использование PyPy\n",
120+
"Перейдите на [официальный сайт PyPy](https://www.pypy.org/) и скачайте подходящую версию для вашей операционной системы.\n",
121+
"Распакуйте скачанный архив в удобное место.\n",
122+
"Создайте файл example_pypy.py с кодом:\n",
123+
"print(\"Hello from pypy!\")\n",
124+
"Запустите файл через PyPy\n",
125+
"pypy <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).\n",
126+
"Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.\n",
127+
"Вывод:\n",
128+
"C:\\Users\\user>C:\\Users\\user\\Downloads\\pypy3.11-v7.3.20-win64\\pypy.exe C:\\Users\\user\\Desktop\\Test1\\example_pypy.py\n",
129+
"Hello from PyPy\n",
130+
"C:\\Users\\user>\n",
131+
"Задание 5: Сравнение производительности CPython и PyPy\n",
132+
"Создайте файл performance_test.py с кодом:\n",
133+
" import time\n",
134+
" start_time = time.time()\n",
135+
" total = 0\n",
136+
" for i in range(1, 10000000):\n",
137+
" total += i\n",
138+
" end_time = time.time()\n",
139+
" \n",
140+
" print(\"Result:\", total)\n",
141+
" print(\"Execution time:\", end_time - start_time, \"seconds\")\n",
142+
"Запустите этот файл сначала через CPython, а затем через PyPy. Запишите результаты времени выполнения для обоих интерпретаторов.\n",
143+
"Сделайте вывод о разнице в производительности.\n",
144+
"\n",
145+
"Результат запуска через PyPy:\n",
146+
"C:\\Users\\user>C:\\Users\\user\\Downloads\\pypy3.11-v7.3.20-win64\\pypy.exe C:\\Users\\user\\Desktop\\Test1\\performance_test.py\n",
147+
"Result: 49999995000000\n",
148+
"Execution time: 0.015625715255737305 seconds\n",
149+
"\n",
150+
"Результат запуска через iPython:\n",
151+
"C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython.exe C:\\Users\\user\\Desktop\\Test1\\ performance_test.py\n",
152+
"Result: 49999995000000\n",
153+
"Execution time: 2.2144627571105957 seconds\n",
154+
"Вывод: Время выполнения через интерпретатор iPython в 142 раза больше.\n"
155+
]
156+
}
157+
],
158+
"metadata": {
159+
"kernelspec": {
160+
"display_name": "Python 3",
161+
"language": "python",
162+
"name": "python3"
163+
},
164+
"language_info": {
165+
"codemirror_mode": {
166+
"name": "ipython",
167+
"version": 3
168+
},
169+
"file_extension": ".py",
170+
"mimetype": "text/x-python",
171+
"name": "python",
172+
"nbconvert_exporter": "python",
173+
"pygments_lexer": "ipython3",
174+
"version": "3.13.11"
175+
}
176+
},
177+
"nbformat": 4,
178+
"nbformat_minor": 5
179+
}

0 commit comments

Comments
 (0)