Skip to content

Commit f50c701

Browse files
author
hasan0002
committed
[TASK] Cpython SENATOROVAI#4 (SENATOROVAI/intro-cs#4)
Closes SENATOROVAI/intro-cs#4
1 parent a71decb commit f50c701

3 files changed

Lines changed: 235 additions & 15 deletions

File tree

python/cpython.ipynb

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": null,
6+
"id": "5d5c9daa",
7+
"metadata": {},
8+
"outputs": [
9+
{
10+
"data": {
11+
"text/plain": [
12+
"'TASK CPython'"
13+
]
14+
},
15+
"execution_count": 1,
16+
"metadata": {},
17+
"output_type": "execute_result"
18+
}
19+
],
20+
"source": [
21+
"\"\"\"TASK CPython.\"\"\""
22+
]
23+
},
24+
{
25+
"cell_type": "markdown",
26+
"id": "63bdf168",
27+
"metadata": {},
28+
"source": [
29+
"1. Что такое CPython и чем он отличается от Python?\n",
30+
" Python - это концепция языка программирования высокого уровня (набор инструкций, алгоритмов и описаний). СPython - это \\\"живая\\\" официальная реализация Python на языке С.\n",
31+
"3. Сколько существует реализаций Python, и какая из них самая популярная?\n",
32+
" - CPython (Самая популярная);\n",
33+
" - IPython,\n",
34+
" - IronPython,\n",
35+
" - Jython;\n",
36+
" - PyPy;,\n",
37+
" - PythonNet;\n",
38+
" - Stackless on,\n",
39+
" и другие.\n",
40+
"4. На каком языке написан CPython?\n",
41+
" На языке С\n",
42+
"5. Кто создал CPython?,\n",
43+
" - Guido van Rossum.\n",
44+
"6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n",
45+
" - ядро языка CPython написано на языке C, CPython вызывает инструкции на языке C.\n",
46+
"7. Напишите путь к Интерпретатору CPython на вашем компьютере,\n",
47+
" - C:\\\\Users\\\\4739361\\\\AppData\\\\Local\\\\Programs\\\\Python\\\\Python313\\\\python.exe\n",
48+
"8. Что содержится в папке include в CPython?\n",
49+
" - Файлы на языке C. Инструкции, описания структур данный, описание интерфейсов, ядро.\n",
50+
"9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб\n",
51+
" - https://github.com/python/cpython.\n",
52+
"10. (опционально) Как работает интерпретатор CPython при выполнении кода?\n",
53+
" - Интерпретатор выполняет код построчно.\n",
54+
"11. Какая команда используется для запуска файла с помощью CPython?\n",
55+
" - python\n",
56+
"12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n",
57+
" - Можно, потому что интерпретатор не обращает внимание на расширение файла.\n",
58+
"13. Как указать путь к интерпретатору и файлу для выполнения кода?\n",
59+
" - Зайти в консоль. Скопировать путь к интерпретатору и вставить в консоль.\n",
60+
" - (путь до интерпретатора - ПРОБЕЛ - путь до фала).\n",
61+
"14. Чем PyPy отличается от CPython?\n",
62+
" - Этот интерпретатор реализован в RPython. Основная цель PyPy - обеспечить максимальную совместимость с CPython и в то же время увеличить производительность. Работает примерно в 4.4 раза быстрее, чем CPython.\n",
63+
"15. Почему PyPy не может использоваться для всех проектов на Python?\n",
64+
" - На данный момент совместим не со всеми проектами на CPython.\n",
65+
"16. Где можно скачать PyPy?\n",
66+
" - pypy.org.\n",
67+
"17. Как установить PyPy после скачивания?\n",
68+
" - Распаковать архив в удобном место, добавит исполняемый файл в переменный среды (PATH).\n",
69+
"18. Как запустить файл с помощью PyPy?\n",
70+
" команда pypy \\\"расположение файла\\\".\n",
71+
"19. Почему PyPy выполняет код быстрее, чем CPython?\n",
72+
" - Pypy выполняет код быстрее CPython благодаря использованию JIT-компиляции (Just-in-Time — компиляция «на лету»). Это принципиально иной подход к исполнению кода. CPython работает как интерпретатор, а Pypy — как компилятор в машинный код для «горячих» участков программы.\n",
73+
"\n",
74+
"#### Практические задания\n",
75+
"Задание 1: Поиск и установка CPython\n",
76+
" - done\n",
77+
"\n",
78+
"Задание 2: Исследование структуры CPython\n",
79+
"Найдите папку, где установлен Python (например, через команду where python в терминале или свойства ярлыка).\n",
80+
"Откройте папку include и изучите её содержимое. Какое количество файлов на C там есть?\n",
81+
"Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте.\n",
82+
" - В папке include 77 файла на языке C.\n",
83+
"Задание 3: Запуск файла с помощью CPython\n",
84+
" - done\n",
85+
"Задание 4: Установка и использование PyPy\n",
86+
" - done\n",
87+
"Задание 5: Сравнение производительности CPython и PyPy\n",
88+
" - провёл тест, результаты:\n",
89+
" pypy: 0.049\n",
90+
" CPython: 2.16\n",
91+
" Разница: 44x"
92+
]
93+
}
94+
],
95+
"metadata": {
96+
"kernelspec": {
97+
"display_name": "base",
98+
"language": "python",
99+
"name": "python3"
100+
},
101+
"language_info": {
102+
"codemirror_mode": {
103+
"name": "ipython",
104+
"version": 3
105+
},
106+
"file_extension": ".py",
107+
"mimetype": "text/x-python",
108+
"name": "python",
109+
"nbconvert_exporter": "python",
110+
"pygments_lexer": "ipython3",
111+
"version": "3.13.5"
112+
}
113+
},
114+
"nbformat": 4,
115+
"nbformat_minor": 5
116+
}

python/cpython.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
"""TASK CPython."""
2+
3+
# 1. Что такое CPython и чем он отличается от Python?
4+
# Python - это концепция языка программирования высокого уровня
5+
# (набор инструкций, алгоритмов и описаний). СPython - это
6+
# \"живая\" официальная реализация Python на языке С.
7+
# 3. Сколько существует реализаций Python, и какая из них самая популярная?
8+
# - CPython (Самая популярная);
9+
# - IPython,
10+
# - IronPython,
11+
# - Jython;
12+
# - PyPy;,
13+
# - PythonNet;
14+
# - Stackless on,
15+
# и другие.
16+
# 4. На каком языке написан CPython?
17+
# На языке С
18+
# 5. Кто создал CPython?,
19+
# - Guido van Rossum.
20+
# 6. Почему Python считается быстрым, несмотря на то, что это
21+
# интерпретируемый язык?
22+
# - ядро языка CPython написано на языке C, CPython вызывает
23+
# инструкции на языке C.
24+
# 7. Напишите путь к Интерпретатору CPython на вашем компьютере,
25+
# - C:\\Users\\4739361\\AppData\\Local\\Programs\\Python\\Python313\\python
26+
# 8. Что содержится в папке include в CPython?
27+
# - Файлы на языке C. Инструкции, описания структур данный,
28+
# описание интерфейсов, ядро.
29+
# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб
30+
# - https://github.com/python/cpython.
31+
# 10. (опционально) Как работает интерпретатор CPython при выполнении кода?
32+
# - Интерпретатор выполняет код построчно.
33+
# 11. Какая команда используется для запуска файла с помощью CPython?
34+
# - python
35+
# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?
36+
# - Можно, потому что интерпретатор не обращает внимание на
37+
# расширение файла.
38+
# 13. Как указать путь к интерпретатору и файлу для выполнения кода?
39+
# - Зайти в консоль. Скопировать путь к интерпретатору и
40+
# вставить в консоль.
41+
# - (путь до интерпретатора - ПРОБЕЛ - путь до фала).
42+
# 14. Чем PyPy отличается от CPython?
43+
# - Этот интерпретатор реализован в RPython. Основная цель
44+
# PyPy - обеспечить максимальную совместимость с CPython и в
45+
# то же время увеличить производительность. Работает примерно
46+
# в 4.4 раза быстрее, чем CPython.
47+
# 15. Почему PyPy не может использоваться для всех проектов на Python?
48+
# - На данный момент совместим не со всеми проектами на CPython.
49+
# 16. Где можно скачать PyPy?
50+
# - pypy.org.
51+
# 17. Как установить PyPy после скачивания?
52+
# - Распаковать архив в удобном место, добавит исполняемый
53+
# файл в переменный среды (PATH).
54+
# 18. Как запустить файл с помощью PyPy?
55+
# команда pypy \"расположение файла\".
56+
# 19. Почему PyPy выполняет код быстрее, чем CPython?
57+
# - Pypy выполняет код быстрее CPython благодаря
58+
# использованию JIT-компиляции (Just-in-Time — компиляция «на лету»).
59+
# Это принципиально иной подход к исполнению кода. CPython работает
60+
# как интерпретатор, а Pypy — как компилятор в машинный код для
61+
# «горячих» участков программы.
62+
#
63+
# #### Практические задания
64+
# Задание 1: Поиск и установка CPython
65+
# - done
66+
#
67+
# Задание 2: Исследование структуры CPython
68+
# Найдите папку, где установлен Python (например, через команду
69+
# where python в терминале или свойства ярлыка).
70+
# Откройте папку include и изучите её содержимое. Какое количество
71+
# файлов на C там есть?
72+
# Перейдите на [GitHub-репозиторий CPython]
73+
# (https://github.com/python/cpython) и найдите файл README.
74+
# Прочитайте информацию о проекте.
75+
# - В папке include 77 файла на языке C.
76+
# Задание 3: Запуск файла с помощью CPython
77+
# - done
78+
# Задание 4: Установка и использование PyPy
79+
# - done
80+
# Задание 5: Сравнение производительности CPython и PyPy
81+
# - провёл тест, результаты:
82+
# pypy: 0.049
83+
# CPython: 2.16
84+
# Разница: 44x

0 commit comments

Comments
 (0)