Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions log.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"cells": [
{
"cell_type": "markdown",
"id": "ecfa7016",
"metadata": {},
"source": [
"22.10\n",
"\n",
"Проба"
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
148 changes: 148 additions & 0 deletions python/cpython.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "a00aed79",
"metadata": {},
"outputs": [],
"source": [
"\"\"\"[TASK] Cpython #4.\"\"\""
]
},
{
"cell_type": "markdown",
"id": "2f139ea1",
"metadata": {},
"source": [
"1. Что такое CPython и чем он отличается от Python?\n",
"\n",
"CPython — это стандартная и самая распространенная реализация языка Python на языке C. Он так же является интерпретатором.\n",
"\n",
"Python — это язык программирования со своими правилами. А CPython программа для реализации языка программирования. \n",
"\n",
"3. Сколько существует реализаций Python, и какая из них самая популярная?\n",
"\n",
"Самых популярных всего 7 (если брать из книги): IPython, CPython, IronPython, Jython, PyPy, PythonNet, Stackless Python. \n",
"\n",
"Самая популярная CPython.\n",
"\n",
"4. На каком языке написан CPython?\n",
"\n",
"На языке С\n",
"\n",
"5. (опционально) Кто создал CPython?\n",
"\n",
"Guido van Rossum\n",
"\n",
"6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n",
"\n",
"Ну если о говорить о CPython. То его ядро написано С и он вызывает инструкции из С. Поэтому он быстрый\n",
"\n",
"7. Напишите путь к Интерпретатору CPython на вашем компьютере\n",
"\n",
"C:\\Users\\Иван Куликов\\AppData\\Local\\Programs\\Python\\Python313\n",
"\n",
"8. Что содержится в папке include в CPython?\n",
"\n",
"файлы на языке C, необходимые для работы интерпретатора и вызова инструкций\n",
"\n",
"9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб\n",
"\n",
"https://github.com/python/cpython\n",
"\n",
"10. (опционально) Как работает интерпретатор CPython при выполнении кода?\n",
"\n",
"Этап 1: Лексический анализ (Lexing)\n",
"Исходный код разбивается на \"слова\" языка - токены.\n",
"\n",
"Этап 2: Синтаксический анализ (Parsing)\n",
"Токены преобразуются в Абстрактное Синтаксическое Дерево (AST).\n",
"\n",
"Этап 3: Компиляция в байт-код\n",
"AST компилируется в байт-код - низкоуровневые инструкции для виртуальной машины Python.\n",
"\n",
"Этап 4: Выполнение байт-кода виртуальной машиной\n",
"Виртуальная машина CPython - это большой цикл, который последовательно выполняет инструкции байт-кода.\n",
"\n",
"11. Какая команда используется для запуска файла с помощью CPython?\n",
"\n",
"Для запуску через командную строку нужно сначала вставить пусть к интерпретатору а затем через пробел путь к желанному файлу для выполнения.\n",
"\n",
"12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n",
"\n",
"Да можно, так как интерпретатор воспринимает любой текст и если данный текст или информация содержат валидный Python-код то он без проблем выполнит его\n",
"\n",
"13. Как указать путь к интерпретатору и файлу для выполнения кода?\n",
"\n",
"Можно скопировать адресное окно самой папки сверху либо нажать на файл правой кнопкой мыши -> свойства -> будет строчка расположения\n",
"\n",
"14. Чем PyPy отличается от CPython?\n",
"\n",
"Работает в 10 раз быстрее\n",
"\n",
"15. Почему PyPy не может использоваться для всех проектов на Python?\n",
"\n",
"Он является достаточно новой реализацией Python поэтому совместим не со всеми проектами на Python\n",
"\n",
"16. Где можно скачать PyPy?\n",
"\n",
"https://pypy.org/download.html\n",
"\n",
"17. Как установить PyPy после скачивания?\n",
"\n",
"Распаковать архив\n",
"\n",
"18. Как запустить файл с помощью PyPy?\n",
"\n",
"Для запуску через командную строку нужно сначала вставить пусть к интерпретатору PyPy а затем через пробел путь к желанному файлу для выполнения.\n",
"\n",
"19. Почему PyPy выполняет код быстрее, чем CPython?\n",
"\n",
"PyPy быстрее CPython благодаря принципиально разной архитектуре выполнения кода.\n",
"Ключевое отличие: PyPy использует Just-In-Time (JIT) компилятор, в то время как CPython работает как интерпретатор байт-кода.\n",
"\n",
"Если простыми словами JIT компилятор находит горячии участки кода (которые часто выполняются) и после некоторых вызовов сразу обращается к мишиному коду данного участка.\n",
"\n",
"Практические задания\n",
"Задание 1: Поиск и установка CPython\n",
"C:\\Users\\Иван Куликов>python --version\n",
"Python 3.13.8\n",
"\n",
"Задание 2: Исследование структуры CPython\n",
"Количество файлов: 77\n",
"\n",
"Задание 3: Запуск файла с помощью CPython\n",
"Для txt\n",
"C:\\Users\\Иван Куликов>python D:\\repo\\Data-Science-For-Beginners-from-scratch-SENATOROV\\python\\example.txt\n",
"Hello from CPython!\n",
"\n",
"Для py\n",
"C:\\Users\\Иван Куликов>python D:\\repo\\Data-Science-For-Beginners-from-scratch-SENATOROV\\python\\example.py\n",
"Hello from CPython!\n",
"\n",
"Задание 4: Установка и использование PyPy\n",
"C:\\Users\\Иван Куликов>pypy D:\\repo\\Data-Science-For-Beginners-from-scratch-SENATOROV\\python\\example_pypy.py\n",
"Hello from pypy!\n",
"\n",
"Задание 5: Сравнение производительности CPython и PyPy\n",
"C:\\Users\\Иван Куликов>python D:\\repo\\Data-Science-For-Beginners-from-scratch-SENATOROV\\python\\performance_test.py\n",
"Result: 49999995000000\n",
"Execution time: 0.5878703594207764 seconds\n",
"\n",
"C:\\Users\\Иван Куликов>pypy D:\\repo\\Data-Science-For-Beginners-from-scratch-SENATOROV\\python\\performance_test.py\n",
"Result: 49999995000000\n",
"Execution time: 0.008245229721069336 seconds\n",
"\n",
"вывод быстрее в 71 раз"
]
}
],
"metadata": {
"language_info": {
"name": "python"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
122 changes: 122 additions & 0 deletions python/cpython.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
"""[TASK] Cpython #4."""

# 1. Что такое CPython и чем он отличается от Python?
#
# CPython — это стандартная и самая распространенная реализация языка Python на языке C. Он так же является интерпретатором.
#
# Python — это язык программирования со своими правилами. А CPython программа для реализации языка программирования.
#
# 3. Сколько существует реализаций Python, и какая из них самая популярная?
#
# Самых популярных всего 7 (если брать из книги): IPython, CPython, IronPython, Jython, PyPy, PythonNet, Stackless Python.
#
# Самая популярная CPython.
#
# 4. На каком языке написан CPython?
#
# На языке С
#
# 5. (опционально) Кто создал CPython?
#
# Guido van Rossum
#
# 6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?
#
# Ну если о говорить о CPython. То его ядро написано С и он вызывает инструкции из С. Поэтому он быстрый
#
# 7. Напишите путь к Интерпретатору CPython на вашем компьютере
#
# C:\Users\Иван Куликов\AppData\Local\Programs\Python\Python313
#
# 8. Что содержится в папке include в CPython?
#
# файлы на языке C, необходимые для работы интерпретатора и вызова инструкций
#
# 9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб
#
# https://github.com/python/cpython
#
# 10. (опционально) Как работает интерпретатор CPython при выполнении кода?
#
# Этап 1: Лексический анализ (Lexing)
# Исходный код разбивается на "слова" языка - токены.
#
# Этап 2: Синтаксический анализ (Parsing)
# Токены преобразуются в Абстрактное Синтаксическое Дерево (AST).
#
# Этап 3: Компиляция в байт-код
# AST компилируется в байт-код - низкоуровневые инструкции для виртуальной машины Python.
#
# Этап 4: Выполнение байт-кода виртуальной машиной
# Виртуальная машина CPython - это большой цикл, который последовательно выполняет инструкции байт-кода.
#
# 11. Какая команда используется для запуска файла с помощью CPython?
#
# Для запуску через командную строку нужно сначала вставить пусть к интерпретатору а затем через пробел путь к желанному файлу для выполнения.
#
# 12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?
#
# Да можно, так как интерпретатор воспринимает любой текст и если данный текст или информация содержат валидный Python-код то он без проблем выполнит его
#
# 13. Как указать путь к интерпретатору и файлу для выполнения кода?
#
# Можно скопировать адресное окно самой папки сверху либо нажать на файл правой кнопкой мыши -> свойства -> будет строчка расположения
#
# 14. Чем PyPy отличается от CPython?
#
# Работает в 10 раз быстрее
#
# 15. Почему PyPy не может использоваться для всех проектов на Python?
#
# Он является достаточно новой реализацией Python поэтому совместим не со всеми проектами на Python
#
# 16. Где можно скачать PyPy?
#
# https://pypy.org/download.html
#
# 17. Как установить PyPy после скачивания?
#
# Распаковать архив
#
# 18. Как запустить файл с помощью PyPy?
#
# Для запуску через командную строку нужно сначала вставить пусть к интерпретатору PyPy а затем через пробел путь к желанному файлу для выполнения.
#
# 19. Почему PyPy выполняет код быстрее, чем CPython?
#
# PyPy быстрее CPython благодаря принципиально разной архитектуре выполнения кода.
# Ключевое отличие: PyPy использует Just-In-Time (JIT) компилятор, в то время как CPython работает как интерпретатор байт-кода.
#
# Если простыми словами JIT компилятор находит горячии участки кода (которые часто выполняются) и после некоторых вызовов сразу обращается к мишиному коду данного участка.
#
# Практические задания
# Задание 1: Поиск и установка CPython
# C:\Users\Иван Куликов>python --version
# Python 3.13.8
#
# Задание 2: Исследование структуры CPython
# Количество файлов: 77
#
# Задание 3: Запуск файла с помощью CPython
# Для txt
# C:\Users\Иван Куликов>python D:\repo\Data-Science-For-Beginners-from-scratch-SENATOROV\python\example.txt
# Hello from CPython!
#
# Для py
# C:\Users\Иван Куликов>python D:\repo\Data-Science-For-Beginners-from-scratch-SENATOROV\python\example.py
# Hello from CPython!
#
# Задание 4: Установка и использование PyPy
# C:\Users\Иван Куликов>pypy D:\repo\Data-Science-For-Beginners-from-scratch-SENATOROV\python\example_pypy.py
# Hello from pypy!
#
# Задание 5: Сравнение производительности CPython и PyPy
# C:\Users\Иван Куликов>python D:\repo\Data-Science-For-Beginners-from-scratch-SENATOROV\python\performance_test.py
# Result: 49999995000000
# Execution time: 0.5878703594207764 seconds
#
# C:\Users\Иван Куликов>pypy D:\repo\Data-Science-For-Beginners-from-scratch-SENATOROV\python\performance_test.py
# Result: 49999995000000
# Execution time: 0.008245229721069336 seconds
#
# вывод быстрее в 71 раз
137 changes: 137 additions & 0 deletions python/venv.ipynb

Large diffs are not rendered by default.

Loading
Loading