Программирование на Python: различия между версиями
Строка 99: | Строка 99: | ||
* Массивы и датафреймы pandas: введение ([https://github.com/allatambov/PyPerm23/blob/main/arrays-pandas.ipynb читать], [https://www.dropbox.com/s/qqfyg2fe9div3gv/arrays-pandas.ipynb?dl=0 ipynb]). | * Массивы и датафреймы pandas: введение ([https://github.com/allatambov/PyPerm23/blob/main/arrays-pandas.ipynb читать], [https://www.dropbox.com/s/qqfyg2fe9div3gv/arrays-pandas.ipynb?dl=0 ipynb]). | ||
* Операции с датафреймами pandas ([https://github.com/allatambov/PyPerm23/blob/main/pandas-intro.ipynb читать], [https://www.dropbox.com/s/3m7v3og93r26kgc/pandas-intro.ipynb?dl=0 ipynb]), файл [https://www.dropbox.com/s/4hjm5mp2wl0bjfo/Salaries.csv?dl=0 Salaries.csv]. | * Операции с датафреймами pandas ([https://github.com/allatambov/PyPerm23/blob/main/pandas-intro.ipynb читать], [https://www.dropbox.com/s/3m7v3og93r26kgc/pandas-intro.ipynb?dl=0 ipynb]), файл [https://www.dropbox.com/s/4hjm5mp2wl0bjfo/Salaries.csv?dl=0 Salaries.csv]. | ||
+ | |||
+ | Дополнительно: | ||
+ | |||
+ | * Pandas, scipy и проверка гипотез [https://nbviewer.org/github/allatambov/TWIMC3/blob/main/twimc-data04.ipynb читать], [https://www.dropbox.com/s/3035ulpzp6ed800/twimc-data04.ipynb?dl=0 ipynb], файл [https://www.dropbox.com/scl/fi/djl5fapjgypduvwciawya/NPK.xlsx?dl=0&rlkey=ycr8lu7egau0wl1djes1vk3sk NPK.xlsx]. | ||
=== Более продвинутые примеры парсинга и работа с API на примере ВКонтакте (3 июня) === | === Более продвинутые примеры парсинга и работа с API на примере ВКонтакте (3 июня) === |
Версия 11:12, 17 июня 2023
Дорогие студенты!
Это страница обязательного курса «Программирование на Python», читаемого на программе «Бизнес-информатика» 2 курса бакалавриата в 4 модуле 2022-2023 учебного года.
Занятия ведёт: Тамбовцева Алла Андреевна.
Содержание
- 1 Правила игры
- 2 Программное обеспечение
- 3 Материалы занятий
- 3.1 Введение в Python. Переменные и типы данных. Ввод и вывод. (8 апреля)
- 3.2 Списки и кортежи. Цикл for. Строки и методы на строках. (15 апреля)
- 3.3 Условные конструкции и цикл while. Работа с текстовыми файлами. (22 апреля)
- 3.4 Множества и словари (29 апреля)
- 3.5 Введение в парсинг с BeautifulSoup (13 мая)
- 3.6 Функции в Python. Lambda-функции (20 мая)
- 3.7 Массивы NumPy и датафреймы Pandas (27 мая)
- 3.8 Более продвинутые примеры парсинга и работа с API на примере ВКонтакте (3 июня)
- 3.9 Более продвинутые примеры парсинга и библиотека Selenium (10 июня)
- 4 Домашние задания
Правила игры
Формула оценки: Итог = 0.3 * Контрольная работа + 0.3 * Домашние задания + 0.4 * Экзамен.
- Контрольная работа состоит из двух частей: теоретической и практической. Теоретическая часть содержит тестовые и открытые вопросы по синтаксису, типам и структурам данных в Python, во время её выполнения нельзя запускать код на компьютере и пользоваться материалами. Практическая часть состоит из задач по программированию, во время её выполнения можно пользоваться любыми открытыми источниками, но нельзя создавать новые вопросы на форумах и подобных ресурсах. Оценка за КР – целое число в 10-балльной шкале.
- Экзамен проходит в том же формате, что и контрольная работа. Оценка за экзамен – целое число в 10-балльной шкале.
- Домашние задания представляют собой набор задач по программированию по пройденным темам. Оценка за домашние задания – неокруглённое среднее арифметическое за все домашние задания по курсу.
При сдаче домашнего задания позже указанного срока предусмотрены штрафы. Опоздание в пределах часа ведёт к штрафу 10% от полученной оценки, в пределах суток – к штрафу 30%, в пределах недели – к штрафу 70%.
Программное обеспечение
На курсе мы будем работать в двух средах: Jupyter Notebook и PyCharm. Jupyter Notebook мы будем активно использовать в начале курса, плюс, эта среда будет нужна для сдачи домашних заданий через систему с автоматическими тестами для проверки.
Jupyter Notebook – продукт проекта Jupyter, более простая среда для знакомства с языком, часто используется в дата-аналитике и машинном обучении, позволяет создавать красиво оформленные файлы с кодом, текстом и графиками (файлы с расширением .ipynb).
Jupyter Notebook можно скачать как отдельно, так и внутри дистрибутива Anaconda, который включает в себя интерпретатор языка Python, библиотеки для обработки, анализа и визуализации данных:
- Если у вас установлен интерпретатор Python и вы знакомы с командой pip install, можно поставить Jupyter Notebook отдельно по этой инструкции.
- Если вы не знакомы с Python, рекомендуется поставить дистрибутив Anaconda, скачать можно здесь.
Также есть возможность работать в Jupyter Notebook онлайн, используя ресурс Google Colab (для создания и редактирования файлов нужен аккаунт Gmail).
PyCharm – профессиональная среда для разработки, работает преимущественно с исполняемыми файлами, содержащими программы на Python (файлы с расширением .py). PyCharm в бесплатной версии Community умеет открывать ipynb-файлы, созданные в Jupyter Notebook, но только режиме чтения, редактировать их нельзя. Скачать можно здесь, достаточно версии Community.
Материалы занятий
Введение в Python. Переменные и типы данных. Ввод и вывод. (8 апреля)
- Видеозаписи занятий и ipynb-файлы.
- Знакомство со средой Jupyter Notebook: инструкция по работе, Jupyter Notebook и Markdown (читать, ipynb).
- Вычисления и переменные в Python (читать, ipynb). Типы данных, ввод и вывод, форматирование строк (читать, ipynb).
- Практикум 1 (читать, ipynb), решения (читать, ipynb).
- Стандарты оформления кода Python: PEP8.
Дополнительно:
- Pythontutor: визуализатор кода, вычисления, ввод и вывод.
- Markdown и Jupyter: больше про Markdown, интерактивные виджеты в Jupyter.
- LaTeX: ShareLaTeX для желающих, документация на английском, материалы других курсов по LaTeX.
Списки и кортежи. Цикл for. Строки и методы на строках. (15 апреля)
- Видеозаписи занятий и ipynb-файлы.
- Списки и цикл for, функция range() (читать, ipynb). Методы на списках (читать, ipynb). Функция zip() и кортежи (читать, ipynb).
- Строки и методы на строках (читать, ipynb).
- Практикум 2 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
Условные конструкции и цикл while. Работа с текстовыми файлами. (22 апреля)
- Видеозаписи занятий и ipynb-файлы.
- Альтернативы циклу for (читать, ipynb). Условные конструкции (читать). Цикл while (читать, скачать).
- Чтение и запись текстовых файлов (читать, ipynb), файл intro.txt.
- Практикум 3 (читать, ipynb), решения (читать, ipynb).
- Практикум 4 (читать, ipynb), решения (читать, ipynb), файл ducks.txt.
Дополнительно:
Множества и словари (29 апреля)
- Видеозаписи занятий и ipynb-файлы.
- Множества (читать). Словари и методы на словарях (читать, ipynb).
- Практикум 5 (читать, ipynb), решения (читать, ipynb).
Дополнительно:
- Pythontutor: словари.
Введение в парсинг с BeautifulSoup (13 мая)
Функции в Python. Lambda-функции (20 мая)
- Видеозаписи занятий и ipynb-файлы.
- Функции (читать, ipynb). Более подробная лекция по функциям (автор И.В.Щуров).
- Lambda-функции (читать, ipynb).
- Исключения и конструкция try-except (читать, скачать).
- Практикум 7 (читать, скачать), решения (читать, скачать).
Массивы NumPy и датафреймы Pandas (27 мая)
- Видеозаписи занятий и ipynb-файлы.
- Массивы и датафреймы pandas: введение (читать, ipynb).
- Операции с датафреймами pandas (читать, ipynb), файл Salaries.csv.
Дополнительно:
Более продвинутые примеры парсинга и работа с API на примере ВКонтакте (3 июня)
- Видеозаписи и ipynb-файлы.
- Примеры парсинга данных в псевдотабличном виде (читать, ipynb).
- Примеры парсинга с BeautifulSoup и Pandas (читать, ipynb).
- Инструкция по получению доступа к API ВКонтакте.
- Практикум по выгрузке постов со стены сообщества (читать, ipynb).
Более продвинутые примеры парсинга и библиотека Selenium (10 июня)
- Видеозаписи и ipynb-файлы.
- Краткое введение в регулярные выражения (читать, ipynb).
- Парсинг HTML, обработка JSON и регулярные выражения (читать,ipynb).
- Инструкция по установке драйверов для Chrome, ссылка на драйвера.
- Практикум по парсингу с библиотекой Selenium (читать, ipynb).
Дополнительно:
- Неофициальная документация библиотеки Selenium.
- Управление браузером с Selenium на примере ВКонтакте (читать, скачать).
- Управление браузером с Selenium: XPATH и скачивание файлов (читать, скачать).
- Управление браузером с Selenium: пример динамической страницы (читать, скачать).
Домашние задания
- Домашние задания сдаются через систему python.math-info.
Домашнее задание | Дедлайн |
---|---|
Домашнее задание 1 | 15 апреля 23:59 |
Домашнее задание 2 | 25 апреля 23:59 |
Домашнее задание 3, файл pesem.txt | 2 мая 23:59 |
Домашнее задание 4 | 14 мая 23:59 |
Домашнее задание 5 | 6 июня 23:59 |
Домашнее задание 6 | 10 июня 23:59 |
Домашнее задание 7* | 22 июня 23:59 |