Skip to content
Closed
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
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ repos:
- --warn-only
exclude: '.*\.md$'
- repo: https://github.com/PyCQA/docformatter
rev: "eb1df347edd128b30cd3368dddc3aa65edcfac38"
rev: "v1.7.7"
hooks:
- id: docformatter
args: [--in-place, --wrap-descriptions=120, --style=google]
Expand Down
71 changes: 71 additions & 0 deletions log.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "a5c7f761",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Module for logging experiment results.'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"Module for logging experiment results.\"\"\"\n"
]
},
{
"cell_type": "markdown",
"id": "33ff615f",
"metadata": {},
"source": [
"04/01\n",
"1. Закончила выполнение intro, c Cursor разобралась.\n",
"2. Начала проходить курс по Python.\n"
]
},
{
"cell_type": "markdown",
"id": "f6cb4978",
"metadata": {},
"source": [
"7/01\n",
"1. Выполнила quiz 1 b quiz 2"
]
},
{
"cell_type": "markdown",
"id": "3ceda156",
"metadata": {},
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
11 changes: 11 additions & 0 deletions log.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
"""Module for logging experiment results."""

# 04/01
# 1. Закончила выполнение intro, c Cursor разобралась.
# 2. Начала проходить курс по Python.
#

# 7/01
# 1. Выполнила quiz 1 b quiz 2

#
179 changes: 179 additions & 0 deletions python/cpython.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "c1ccfa97",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Quiz 4.'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\"\"\"Quiz 4.\"\"\""
]
},
{
"cell_type": "markdown",
"id": "01f96160",
"metadata": {},
"source": [
"1. Что такое CPython и чем он отличается от Python?\n",
"Python - это язык программирования, а CPython - это и язык программирования, и интерпретатор одновременно. \n",
"3. Сколько существует реализаций Python, и какая из них самая популярная?\n",
"Существует 6 реализаций Python, самая популярная из них-CPython\n",
"4. На каком языке написан CPython?\n",
"CPython написан на языке С.\n",
"5. (опционально) Кто создал CPython?\n",
"CPython создал голландский программист Гвидо ван Россум.\n",
"\n",
"6. Почему Python считается быстрым, несмотря на то, что это интерпретируемый язык?\n",
"Потому что ядро CPython написано на языке С, и он вызывает инструкции из С.\n",
"\n",
"7. Напишите путь к Интерпретатору CPython на вашем компьютере\n",
"C:\\Users\\user\\anaconda3\\python.exe\n",
"\n",
"8. Что содержится в папке include в CPython?\n",
"В папке include в CPython находятся заголовочные файлы на языке С.\n",
"\n",
"9. Где можно найти исходный код CPython дайте ссылку на репозиторий гитхаб.\n",
"Ссылка на репозиторий гитхаб: https://github.com/python/cpython\n",
"\n",
"10. (опционально) Как работает интерпретатор CPython при выполнении кода?\n",
"Интерпретатор CPython выполняет код пошагово, преобразуя его в машинные инструкции для компьютера.\n",
"\n",
"11. Какая команда используется для запуска файла с помощью CPython?\n",
"python filename\n",
"\n",
"12. Можно ли запускать текстовые файлы через интерпретатор Python? Почему?\n",
"Можно, так как интерпретатору неважно, какие файлы запускать, главное – валидный пайтон-код.\n",
"\n",
"13. Как указать путь к интерпретатору и файлу для выполнения кода?\n",
"Через абсолютный или относительный путь. \n",
"\n",
"14. Чем PyPy отличается от CPython?\n",
"Этот интерпретатор работает в 10 раз быстрее, чем CPython.\n",
"\n",
"15. Почему PyPy не может использоваться для всех проектов на Python?\n",
"Это достаточно новый интерпретатор, и он ещё не совместим со всеми проектами на Python. \n",
"\n",
"16. Где можно скачать PyPy?\n",
"По ссылке: https://pypy.org/download.html\n",
"\n",
"17. Как установить PyPy после скачивания?\n",
"Извлечь папку и прописать пути в переменных средах.\n",
"\n",
"18. Как запустить файл с помощью PyPy?\n",
"В командной строке Windows ввести абсолютный путь до интерпретатора, пробел, абсолютный путь до файла, нажать Enter.\n",
"\n",
"19. Почему PyPy выполняет код быстрее, чем CPython?\n",
"PyPy использует Just-In-Time компилятор для компиляции Python в машинный код во время выполнения, что ускоряет работу.\n",
"\n",
"Практические задания\n",
"Задание 1: Поиск и установка CPython\n",
"Проверьте, установлен ли CPython на вашем компьютере:\n",
" Используйте поиск в меню \"Пуск\" (Windows) или терминале (Linux/Mac).\n",
" Введите команду python --version или python3 --version в терминале.\n",
"Если CPython не установлен, скачайте его с официального сайта Python https://www.python.org/downloads/ и установите.\n",
"\n",
"C:\\Users\\user>python --version\n",
"Python 3.13.9\n",
"\n",
"\n",
"Задание 2: Исследование структуры CPython\n",
"Найдите папку, где установлен Python (например, через команду where python в терминале или свойства ярлыка).\n",
"Откройте папку include и изучите её содержимое. Какое количество файлов на C там есть?\n",
"Перейдите на [GitHub-репозиторий CPython](https://github.com/python/cpython) и найдите файл README. Прочитайте информацию о проекте.\n",
"\n",
"В папке include количество файлов на C: 77.\n",
"\n",
"C:\\Users\\user>where python\n",
"C:\\Users\\user\\anaconda3\\python.exe\n",
"C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python310\\python.exe\n",
"C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe\n",
"C:\\Users\\user\\AppData\\Local\\Microsoft\\WindowsApps\\python.exe\n",
"\n",
"C:\\Users\\user>\n",
"\n",
"Задание 3: Запуск файла с помощью CPython\n",
"Создайте текстовый файл example.txt с содержимым:\n",
"print(\"Hello from CPython!\")\n",
"Запустите файл через команду python <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).\n",
"Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.\n",
"C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython3.exe C:\\Users\\user\\Desktop\\Test1\\example.txt\n",
"Hello from CPython!\n",
"\n",
"C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython3.exe\n",
"C:\\Users\\user\\Desktop\\Test1\\example.py\n",
"Hello from CPython!\n",
"\n",
"\n",
"Задание 4: Установка и использование PyPy\n",
"Перейдите на [официальный сайт PyPy](https://www.pypy.org/) и скачайте подходящую версию для вашей операционной системы.\n",
"Распакуйте скачанный архив в удобное место.\n",
"Создайте файл example_pypy.py с кодом:\n",
"print(\"Hello from pypy!\")\n",
"Запустите файл через PyPy\n",
"pypy <путь_до_файла> (замените <путь_до_файла> на фактический путь к вашему файлу).\n",
"Проверьте, что выводится на экран. Попробуйте изменить расширение файла на .py и повторите запуск.\n",
"Вывод:\n",
"C:\\Users\\user>C:\\Users\\user\\Downloads\\pypy3.11-v7.3.20-win64\\pypy.exe C:\\Users\\user\\Desktop\\Test1\\example_pypy.py\n",
"Hello from PyPy\n",
"C:\\Users\\user>\n",
"Задание 5: Сравнение производительности CPython и PyPy\n",
"Создайте файл performance_test.py с кодом:\n",
" import time\n",
" start_time = time.time()\n",
" total = 0\n",
" for i in range(1, 10000000):\n",
" total += i\n",
" end_time = time.time()\n",
" \n",
" print(\"Result:\", total)\n",
" print(\"Execution time:\", end_time - start_time, \"seconds\")\n",
"Запустите этот файл сначала через CPython, а затем через PyPy. Запишите результаты времени выполнения для обоих интерпретаторов.\n",
"Сделайте вывод о разнице в производительности.\n",
"\n",
"Результат запуска через PyPy:\n",
"C:\\Users\\user>C:\\Users\\user\\Downloads\\pypy3.11-v7.3.20-win64\\pypy.exe C:\\Users\\user\\Desktop\\Test1\\performance_test.py\n",
"Result: 49999995000000\n",
"Execution time: 0.015625715255737305 seconds\n",
"\n",
"Результат запуска через iPython:\n",
"C:\\Users\\user>C:\\Users\\user\\anaconda3\\Scripts\\ipython.exe C:\\Users\\user\\Desktop\\Test1\\ performance_test.py\n",
"Result: 49999995000000\n",
"Execution time: 2.2144627571105957 seconds\n",
"Вывод: Время выполнения через интерпретатор iPython в 142 раза больше.\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
100 changes: 100 additions & 0 deletions python/venv.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "a6e9c430",
"metadata": {},
"outputs": [],
"source": [
"\"\"\"Quiz 7.\"\"\""
]
},
{
"cell_type": "markdown",
"id": "c01338ff",
"metadata": {},
"source": [
"1.\tЧто делает команда python -m venv venv? \n",
"\n",
"Ответ: создаёт виртуальное окружение, название окружения venv\n",
"\n",
"1.1 Что делает каждая команда в списке ниже?\n",
"\n",
"pip list - отображает пакеты, находящиеся в pip\n",
"pip freeze > requirements.txt - выгружает все пакеты в один файл, который называется requirements.txt.\n",
"pip install -r requirements.txt - устанавливает все пакеты из файла requirements.txt одним махом.\n",
"\n",
"2.\tЧто делает каждая команда в списке ниже?\n",
"\n",
"conda env list - используется для отображения списка всех существующих окружений conda вместе с путями к ним в файловой системе. \n",
"conda create -n env_name python=3.5 - создаёт виртуальное окружение conda с именем env_name, здесь python=3.5 - версия питона.\n",
"conda env update -n env_name -f file.yml - обновляет окружение env_name зависимостями из yaml-файла.\n",
"source activate env_name - активирует виртуальное окружение с именем env_name. \n",
"source deactivate - деактивирует виртуальное окружение \n",
"conda clean -all - удаляет кэш и неиспользуемые пакеты. \n",
"\n",
"3.\tВставьте скрин вашего терминала, где вы активировали сначала venv, потом conda, назовите окружение “Senatorov”.\n",
"\n",
"Ответ: image.png\n",
"4.\tКак установить необходимые пакеты внутрь виртуального окружения для conda/venv?\n",
"\n",
"Ответ: 1) для venv: \n",
"-активация нужного окружения и установка нужных зависимостей с помощью команды pip install “имя зависимости”.\n",
"-создать файл requirements.txt, записать туда все необходимые зависимости и с помощью команды pip install -r requirements.txt установить их.\n",
"2) для conda: \n",
"-активация нужного окружения и установка нужных зависимостей с помощью команды conda install “имя зависимости”.\n",
"-создать файл environment.yml, записать туда все необходимые зависимости и с помощью команды conda env update -f environment.yml установить их или обновить. \n",
"\n",
"5.\tЧто делают эти команды?\n",
"\n",
"pip freeze > requirements.txt -выгружает все пакеты venv в один файл, который называется requirements.txt.\n",
"conda env export > environment.yml - выгружает файлы зависимостей conda в файл environment.yml \n",
"\n",
"5.1 вставьте скрин, где будет видна папка VENV в вашем репозитории а также файлы зависимостей requirements.txt и environment.yml, файлы должны содержать зависимости\n",
"Ответ: image.png \n",
" image.png\n",
"6.\tЧто делают эти команды?\n",
"\n",
"pip install -r requirements.txt - устанавливает файлы зависимостей, находящиеся в requirements.txt, через пакетный менеджер pip.\n",
"conda env create -f environment.yml - устанавливает файлы зависимостей, находящиеся в environment.yml через пакетный менеджер conda.\n",
"\n",
"7.\tЧто делают эти команды?\n",
"\n",
"pip list - отображает список зависимостей выбранного окружения в venv.\n",
"pip show - выводит подробную информацию об установленном пакете: его версии, авторе, лицензии, месте установки, описании и зависимостях.\n",
"conda list - отображает список зависимостей выбранного окружения в conda. \n",
"\n",
"8.\tГде по умолчанию больше пакетов venv/pip или conda? и почему дата сайентисты используют conda? \n",
"\n",
"Ответ: больше пакетов в conda. В pip нет пакетов для Data science,поэтому дата сайентисты используют conda.\n",
"\n",
"9.\tвставьте скрин где будет видно, Выбор интерпретатора Python (conda) в VS Code/cursor\n",
"Ответ: image.png\n",
"\n",
"10.\tдобавьте в .gitignore папку SENATOROV\n",
"\n",
"11.\tЗачем нужно виртуальное окружение? \n",
"Ответ: виртуальное окружение - это изолированное пространство, в котором можно установить необходимую версию Python и пакеты, отличные от тех, которые установлены в системе. Это позволяет предотвратить конфликты между различными версиями Python и пакетов. Позволяет создавать “чистый” проект без лишних зависимостей. \n",
"\n",
"12.\tС этого момента надо работать в виртуальном окружении conda, ты научился(-ась) выгружать зависимости и работать с окружением?\n",
"Ответ: да\n",
"13.\tУдалите папку VENV, она больше не нужна, мы же не разрабы, нам нужна только conda\n",
"Ответ: удалила\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.13.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Loading