Skip to content

Commit 0f73a22

Browse files
committed
1 parent 6c1400f commit 0f73a22

2 files changed

Lines changed: 391 additions & 0 deletions

File tree

python/cpython.ipynb

Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": null,
6+
"id": "414cc1b6",
7+
"metadata": {},
8+
"outputs": [
9+
{
10+
"data": {
11+
"text/plain": [
12+
"'Issue #4, made by Gosha Gosha (tg.:@dddos_1107).'"
13+
]
14+
},
15+
"execution_count": 2,
16+
"metadata": {},
17+
"output_type": "execute_result"
18+
}
19+
],
20+
"source": [
21+
"\"\"\"Issue #4, made by Gosha Gosha (tg.:@dddos_1107).\"\"\""
22+
]
23+
},
24+
{
25+
"cell_type": "markdown",
26+
"id": "e7549e71",
27+
"metadata": {},
28+
"source": [
29+
"# Домашнее задание\n",
30+
"\n",
31+
"## Реализации Python\n",
32+
"\n",
33+
"### 3. Сколько существует реализаций Python, и какая из них самая популярная?\n",
34+
"\n",
35+
"**Ответ:**\n",
36+
"\n",
37+
"- 6+\n",
38+
"Самая популярная - CPython\n",
39+
"\n",
40+
"---\n",
41+
"\n",
42+
"### 4. На каком языке написан CPython?\n",
43+
"\n",
44+
"**Ответ:**\n",
45+
"\n",
46+
"- C\n",
47+
"\n",
48+
"---\n",
49+
"\n",
50+
"### 5. Кто создал CPython? *(опционально)*\n",
51+
"\n",
52+
"**Ответ:**\n",
53+
"\n",
54+
"- Guido von Rossum\n",
55+
"\n",
56+
"---\n",
57+
"\n",
58+
"### 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n",
59+
"\n",
60+
"**Ответ:**\n",
61+
"\n",
62+
"- Много динамических бибилотек под капотом\n",
63+
"\n",
64+
"---\n",
65+
"\n",
66+
"### 7. Напишите путь к Интерпретатору CPython на вашем компьютере.\n",
67+
"\n",
68+
"**Ответ:**\n",
69+
"\n",
70+
"```~AppData/Local/Programs/Python/Python313/python.exe\n",
71+
"\n",
72+
"```\n",
73+
"\n",
74+
"---\n",
75+
"\n",
76+
"# Структура CPython\n",
77+
"\n",
78+
"### 8. Что содержится в папке `include` в CPython?\n",
79+
"\n",
80+
"**Ответ:**\n",
81+
"\n",
82+
"- Заголовки С\n",
83+
"\n",
84+
"\n",
85+
"---\n",
86+
"\n",
87+
"### 9. Где можно найти исходный код CPython? Дайте ссылку на репозиторий GitHub.\n",
88+
"\n",
89+
"**Ответ:**\n",
90+
"\n",
91+
"```https://github.com/python/cpython\n",
92+
"\n",
93+
"```\n",
94+
"\n",
95+
"---\n",
96+
"\n",
97+
"### 10. Как работает интерпретатор CPython при выполнении кода? *(опционально)*\n",
98+
"\n",
99+
"**Ответ:**\n",
100+
"\n",
101+
"1. Парсинг в AST\n",
102+
"2. компиляция в байт-код\n",
103+
"3. интепретация байт-кода\n",
104+
"\n",
105+
"\n",
106+
"---\n",
107+
"\n",
108+
"# Запуск файла с помощью CPython\n",
109+
"\n",
110+
"### 11. Какая команда используется для запуска файла с помощью CPython?\n",
111+
"\n",
112+
"**Ответ:**\n",
113+
"\n",
114+
"```python file.py\n",
115+
"\n",
116+
"```\n",
117+
"\n",
118+
"---\n",
119+
"\n",
120+
"### 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n",
121+
"\n",
122+
"**Ответ:**\n",
123+
"\n",
124+
"- Да\n",
125+
"---\n",
126+
"\n",
127+
"### 13. Как указать путь к интерпретатору и файлу для выполнения кода?\n",
128+
"\n",
129+
"**Ответ:**\n",
130+
"\n",
131+
"```\n",
132+
"Просто скопировать их пути и указать\n",
133+
"```\n",
134+
"\n",
135+
"---\n",
136+
"\n",
137+
"# Введение в PyPy\n",
138+
"\n",
139+
"### 14. Чем PyPy отличается от CPython?\n",
140+
"\n",
141+
"**Ответ:**\n",
142+
"\n",
143+
"- PyPy реализован на RPуthon и работает в стиле tracing JIT\n",
144+
"\n",
145+
"---\n",
146+
"\n",
147+
"### 15. Почему PyPy не может использоваться для всех проектов на Python?\n",
148+
"\n",
149+
"**Ответ:**\n",
150+
"\n",
151+
"- warm-up стиль JIT подходит не каждому коду и может только замедлять его, а не ускорять ( в худшем сценарии)\n",
152+
"\n",
153+
"---\n",
154+
"\n",
155+
"### 16. Где можно скачать PyPy?\n",
156+
"\n",
157+
"**Ответ:**\n",
158+
"\n",
159+
"```https://pypy.org/\n",
160+
"\n",
161+
"```\n",
162+
"\n",
163+
"---\n",
164+
"\n",
165+
"# Установка и запуск PyPy\n",
166+
"\n",
167+
"### 17. Как установить PyPy после скачивания?\n",
168+
"\n",
169+
"**Ответ:**\n",
170+
"\n",
171+
"Никак. Просто распаковать архив с готовым интепретатором. Ну и можно конечно в PATH добавить.\n",
172+
"\n",
173+
"\n",
174+
"---\n",
175+
"\n",
176+
"### 18. Как запустить файл с помощью PyPy?\n",
177+
"\n",
178+
"**Ответ:**\n",
179+
"\n",
180+
"```так же как и с CPython\n",
181+
"\n",
182+
"```\n",
183+
"\n",
184+
"---\n",
185+
"\n",
186+
"### 19. Почему PyPy выполняет код быстрее, чем CPython?\n",
187+
"\n",
188+
"**Ответ:**\n",
189+
"\n",
190+
"См. пункт 14\n",
191+
"\n",
192+
"---\n",
193+
"\n",
194+
"> **Примечание:** Все пустые места после **«Ответ:»**, пустые элементы списков, нумерованных списков и пустые блоки кода предназначены для вписывания ответов."
195+
]
196+
}
197+
],
198+
"metadata": {
199+
"kernelspec": {
200+
"display_name": "SENATOROV",
201+
"language": "python",
202+
"name": "python3"
203+
},
204+
"language_info": {
205+
"codemirror_mode": {
206+
"name": "ipython",
207+
"version": 3
208+
},
209+
"file_extension": ".py",
210+
"mimetype": "text/x-python",
211+
"name": "python",
212+
"nbconvert_exporter": "python",
213+
"pygments_lexer": "ipython3",
214+
"version": "3.13.14"
215+
}
216+
},
217+
"nbformat": 4,
218+
"nbformat_minor": 5
219+
}

python/cpython.py

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# In[ ]:
2+
3+
4+
"""Issue #4, made by Gosha Gosha (tg.:@dddos_1107)."""
5+
6+
7+
# # Домашнее задание
8+
#
9+
# ## Реализации Python
10+
#
11+
# ### 3. Сколько существует реализаций Python, и какая из них самая популярная?
12+
#
13+
# **Ответ:**
14+
#
15+
# - 6+
16+
# Самая популярная - CPython
17+
#
18+
# ---
19+
#
20+
# ### 4. На каком языке написан CPython?
21+
#
22+
# **Ответ:**
23+
#
24+
# - C
25+
#
26+
# ---
27+
#
28+
# ### 5. Кто создал CPython? *(опционально)*
29+
#
30+
# **Ответ:**
31+
#
32+
# - Guido von Rossum
33+
#
34+
# ---
35+
#
36+
# ### 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?
37+
#
38+
# **Ответ:**
39+
#
40+
# - Много динамических бибилотек под капотом
41+
#
42+
# ---
43+
#
44+
# ### 7. Напишите путь к Интерпретатору CPython на вашем компьютере.
45+
#
46+
# **Ответ:**
47+
#
48+
# ```~AppData/Local/Programs/Python/Python313/python.exe
49+
#
50+
# ```
51+
#
52+
# ---
53+
#
54+
# # Структура CPython
55+
#
56+
# ### 8. Что содержится в папке `include` в CPython?
57+
#
58+
# **Ответ:**
59+
#
60+
# - Заголовки С
61+
#
62+
#
63+
# ---
64+
#
65+
# ### 9. Где можно найти исходный код CPython? Дайте ссылку на репозиторий GitHub.
66+
#
67+
# **Ответ:**
68+
#
69+
# ```https://github.com/python/cpython
70+
#
71+
# ```
72+
#
73+
# ---
74+
#
75+
# ### 10. Как работает интерпретатор CPython при выполнении кода? *(опционально)*
76+
#
77+
# **Ответ:**
78+
#
79+
# 1. Парсинг в AST
80+
# 2. компиляция в байт-код
81+
# 3. интепретация байт-кода
82+
#
83+
#
84+
# ---
85+
#
86+
# # Запуск файла с помощью CPython
87+
#
88+
# ### 11. Какая команда используется для запуска файла с помощью CPython?
89+
#
90+
# **Ответ:**
91+
#
92+
# ```python file.py
93+
#
94+
# ```
95+
#
96+
# ---
97+
#
98+
# ### 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?
99+
#
100+
# **Ответ:**
101+
#
102+
# - Да
103+
# ---
104+
#
105+
# ### 13. Как указать путь к интерпретатору и файлу для выполнения кода?
106+
#
107+
# **Ответ:**
108+
#
109+
# ```
110+
# Просто скопировать их пути и указать
111+
# ```
112+
#
113+
# ---
114+
#
115+
# # Введение в PyPy
116+
#
117+
# ### 14. Чем PyPy отличается от CPython?
118+
#
119+
# **Ответ:**
120+
#
121+
# - PyPy реализован на RPуthon и работает в стиле tracing JIT
122+
#
123+
# ---
124+
#
125+
# ### 15. Почему PyPy не может использоваться для всех проектов на Python?
126+
#
127+
# **Ответ:**
128+
#
129+
# - warm-up стиль JIT подходит не каждому коду и может только замедлять его, а не ускорять ( в худшем сценарии)
130+
#
131+
# ---
132+
#
133+
# ### 16. Где можно скачать PyPy?
134+
#
135+
# **Ответ:**
136+
#
137+
# ```https://pypy.org/
138+
#
139+
# ```
140+
#
141+
# ---
142+
#
143+
# # Установка и запуск PyPy
144+
#
145+
# ### 17. Как установить PyPy после скачивания?
146+
#
147+
# **Ответ:**
148+
#
149+
# Никак. Просто распаковать архив с готовым интепретатором. Ну и можно конечно в PATH добавить.
150+
#
151+
#
152+
# ---
153+
#
154+
# ### 18. Как запустить файл с помощью PyPy?
155+
#
156+
# **Ответ:**
157+
#
158+
# ```так же как и с CPython
159+
#
160+
# ```
161+
#
162+
# ---
163+
#
164+
# ### 19. Почему PyPy выполняет код быстрее, чем CPython?
165+
#
166+
# **Ответ:**
167+
#
168+
# См. пункт 14
169+
#
170+
# ---
171+
#
172+
# > **Примечание:** Все пустые места после **«Ответ:»**, пустые элементы списков, нумерованных списков и пустые блоки кода предназначены для вписывания ответов.

0 commit comments

Comments
 (0)