Программирование на Python: различия между версиями

Материал из MathINFO
Перейти к навигации Перейти к поиску
 
(не показаны 24 промежуточные версии этого же участника)
Строка 68: Строка 68:
 
* Практикум 4 ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice04.ipynb читать], [https://www.dropbox.com/s/ionip5513mbp5h4/pyperm-practice04.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice04-solutions.ipynb читать], [https://www.dropbox.com/s/5y6ctr9ybmy67v9/pyperm-practice04-solutions.ipynb?dl=0 ipynb]), файл [https://www.dropbox.com/s/hpxoi496z23khev/ducks.txt?dl=0 ducks.txt].
 
* Практикум 4 ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice04.ipynb читать], [https://www.dropbox.com/s/ionip5513mbp5h4/pyperm-practice04.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice04-solutions.ipynb читать], [https://www.dropbox.com/s/5y6ctr9ybmy67v9/pyperm-practice04-solutions.ipynb?dl=0 ipynb]), файл [https://www.dropbox.com/s/hpxoi496z23khev/ducks.txt?dl=0 ducks.txt].
  
=== Множества и словари. Функции. (29 апреля) ===
+
Дополнительно:
 +
 
 +
* Pythontutor: [https://pythontutor.ru/lessons/ifelse/ условия], цикл [https://pythontutor.ru/lessons/while/ while].
 +
 
 +
=== Множества и словари (29 апреля) ===
  
 
* [https://www.dropbox.com/scl/fo/ti7jm2uyik5rj6z8thyzg/h?dl=0&rlkey=ldn2cr5aftyy0z3rdbn326xfs Видеозаписи] занятий и ipynb-файлы.
 
* [https://www.dropbox.com/scl/fo/ti7jm2uyik5rj6z8thyzg/h?dl=0&rlkey=ldn2cr5aftyy0z3rdbn326xfs Видеозаписи] занятий и ipynb-файлы.
 
* Множества ([https://pythontutor.ru/lessons/sets/ читать]). Словари и методы на словарях ([https://github.com/allatambov/PyPerm23/blob/main/dicts.ipynb читать], [https://www.dropbox.com/s/k15enm23pukegsh/dicts.ipynb?dl=0 ipynb]).
 
* Множества ([https://pythontutor.ru/lessons/sets/ читать]). Словари и методы на словарях ([https://github.com/allatambov/PyPerm23/blob/main/dicts.ipynb читать], [https://www.dropbox.com/s/k15enm23pukegsh/dicts.ipynb?dl=0 ipynb]).
* Практикум 5 ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice05.ipynb читать], [https://www.dropbox.com/s/tvai037wdrydto0/pyperm-practice05.ipynb?dl=0 ipynb]), решения (читать, [https://www.dropbox.com/s/uc544mvz8ttm973/pyperm-practice05-solutions.ipynb?dl=0 ipynb]).
+
* Практикум 5 ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice05.ipynb читать], [https://www.dropbox.com/s/tvai037wdrydto0/pyperm-practice05.ipynb?dl=0 ipynb]), решения ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice05-solutions.ipynb читать], [https://www.dropbox.com/s/uc544mvz8ttm973/pyperm-practice05-solutions.ipynb?dl=0 ipynb]).
  
 
Дополнительно:  
 
Дополнительно:  
  
 
* Pythontutor: [https://pythontutor.ru/lessons/dicts/ словари].
 
* Pythontutor: [https://pythontutor.ru/lessons/dicts/ словари].
 +
 +
=== Введение в парсинг с BeautifulSoup (13 мая) ===
 +
 +
* Практикум 6 ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice06-bs.ipynb читать], [https://www.dropbox.com/s/gxivawuz4gdy9f4/pyperm-practice06-bs.ipynb?dl=0 скачать]), решения практикума ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice06-bs-solutions.ipynb читать], [https://www.dropbox.com/s/9ftdndf9zxajrq1/pyperm-practice06-bs-solutions.ipynb?dl=0 скачать]).
 +
 +
=== Функции в Python. Lambda-функции (20 мая) ===
 +
 +
* [https://www.dropbox.com/scl/fo/4epdbsntk3umx2kdaqt38/h?dl=0&rlkey=vs4ux8xjmuvg4w0mkcut25xvq Видеозаписи] занятий и ipynb-файлы.
 +
* Функции ([https://github.com/allatambov/PyPerm23/blob/main/functions-short.ipynb читать], [https://www.dropbox.com/s/m4sk842dm0qhq95/functions-short.ipynb?dl=0 ipynb]). Более подробная [https://nbviewer.org/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb лекция] по функциям (автор И.В.Щуров).
 +
* Lambda-функции ([https://github.com/allatambov/PyPerm23/blob/main/lambda-functions.ipynb читать], [https://www.dropbox.com/s/wfaiu88cgknvjiz/lambda-functions.ipynb?dl=0 ipynb]).
 +
* Исключения и конструкция try-except (читать, скачать).
 +
* Практикум 7 ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice07.ipynb читать], скачать), решения ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice07-solutions.ipynb читать], [https://www.dropbox.com/s/8vbsa3cki7ciwk0/pyperm-practice07-solutions.ipynb?dl=0 скачать]).
 +
 +
=== Массивы NumPy и датафреймы Pandas (27 мая) ===
 +
 +
* [https://www.dropbox.com/scl/fo/tg821xgvjku4obmtf7zj3/h?dl=0&rlkey=y4tp9pv47c5sol8nhhhcit1x1 Видеозаписи] занятий и 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, 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 июня) ===
 +
 +
* [https://www.dropbox.com/scl/fo/16e9vhywr0kssnqpq1kn9/h?dl=0&rlkey=4k02hqb1e7hu6o7iz6cp5oxhv Видеозаписи] и ipynb-файлы.
 +
* Примеры парсинга данных в псевдотабличном виде ([https://github.com/allatambov/PyPerm23/blob/main/practice-bs.ipynb читать], [https://www.dropbox.com/s/my1g2mn8mh8sj1s/practice-bs.ipynb?dl=0 ipynb]).
 +
* Примеры парсинга с BeautifulSoup и Pandas ([https://github.com/allatambov/PyPerm23/blob/main/parse-pandas.ipynb читать], [https://www.dropbox.com/s/m9ji1lebfmjg5i8/parse-pandas.ipynb?dl=0 ipynb]).
 +
* [https://allatambov.github.io/pypolit/vk-auth.pdf Инструкция] по получению доступа к API ВКонтакте.
 +
* Практикум по выгрузке постов со стены сообщества ([https://github.com/allatambov/PyPerm23/blob/main/vk-practice.ipynb читать], [https://www.dropbox.com/s/646oj1uxcthnhqp/vk-practice.ipynb?dl=0 ipynb]).
 +
 +
=== Более продвинутые примеры парсинга и библиотека Selenium (10 июня) ===
 +
 +
* [https://www.dropbox.com/scl/fo/2nc7db72vz7tkezddwvrw/h?dl=0&rlkey=1h7n6kjs4hujsyson8tgat1ao Видеозаписи] и ipynb-файлы.
 +
* Краткое введение в регулярные выражения ([https://github.com/allatambov/PyPerm23/blob/main/re-short.ipynb читать], [https://www.dropbox.com/s/vsx0mppqo33uiz6/re-short.ipynb?dl=0 ipynb]).
 +
* Парсинг HTML, обработка JSON и регулярные выражения ([https://github.com/allatambov/PyPerm23/blob/main/handling-incorrect-json.ipynb читать],[https://www.dropbox.com/s/dxayys66bhykfrf/handling-incorrect-json.ipynb?dl=0 ipynb]).
 +
* [https://github.com/allatambov/WebScrape23/blob/main/selenium.pdf Инструкция] по установке драйверов для Chrome, [https://chromedriver.chromium.org/downloads ссылка] на драйвера.
 +
* Практикум по парсингу с библиотекой Selenium ([https://github.com/allatambov/PyPerm23/blob/main/pyperm-practice-selenium.ipynb читать], [https://www.dropbox.com/s/4jw7g7f7adlmyb4/pyperm-practice-selenium.ipynb?dl=0 ipynb]).
 +
 +
Дополнительно:
 +
 +
* Неофициальная [https://selenium-python.readthedocs.io/ документация] библиотеки Selenium.
 +
* Управление браузером с Selenium на примере ВКонтакте ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice06-solutions.ipynb читать], [https://www.dropbox.com/s/iog89xvy3kiwpzk/psy-practice06-solutions.ipynb?dl=0 скачать]).
 +
* Управление браузером с Selenium: XPATH и скачивание файлов ([https://github.com/allatambov/WebScrape23/blob/main/psy-practice08-solutions.ipynb читать], [https://www.dropbox.com/s/tm0k4tdg4e23iyo/psy-practice08-solutions.ipynb?dl=0 скачать]).
 +
* Управление браузером с Selenium: пример динамической страницы ([https://nbviewer.org/github/allatambov/PyICEF-2023/blob/main/OEC_collect.ipynb читать], [https://www.dropbox.com/s/194hh0a1h9jqrrn/OEC_collect.ipynb?dl=0 скачать]).
 +
 +
=== Классы в Python. Веб-приложения со streamlit. (17 июня) ===
 +
 +
* [https://www.dropbox.com/scl/fo/dir9vbt0ilr6m3v8mw697/h?dl=0&rlkey=7g4lak6q73g0l0dij7dfzltor Видеозаписи] и ipynb-файлы.
 +
* Классы в Python (читать, ipynb).
 +
* Веб-приложения со streamlit.
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 92: Строка 147:
 
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyperm/pyperm-hw03/pyperm-hw03.ipynb Домашнее задание 3], файл [https://www.dropbox.com/s/le89dpcaaa9gvot/pesem.txt?dl=0 pesem.txt]|| 2 мая 23:59
 
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyperm/pyperm-hw03/pyperm-hw03.ipynb Домашнее задание 3], файл [https://www.dropbox.com/s/le89dpcaaa9gvot/pesem.txt?dl=0 pesem.txt]|| 2 мая 23:59
 
|-
 
|-
| Домашнее задание 4 ||  
+
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyperm/pyperm-hw04/pyperm-hw04.ipynb Домашнее задание 4] || 14 мая 23:59
 
|-
 
|-
| Домашнее задание 5 ||  
+
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyperm/pyperm-hw05/pyperm-hw05.ipynb Домашнее задание 5] || 6 июня 23:59
 
|-
 
|-
| Домашнее задание 6 ||  
+
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyperm/pyperm-hw06/pyperm-hw06.ipynb Домашнее задание 6] || 10 июня 23:59
 
|-
 
|-
| Домашнее задание 7 ||  
+
| [https://nbviewer.org/url/python.math-hse.info/static/assignments_release/pyperm/pyperm-hw07/pyperm-hw07.ipynb Домашнее задание 7*] || 22 июня 23:59
 
|}
 
|}

Текущая версия на 15:31, 19 июня 2023

Дорогие студенты!

Это страница обязательного курса «Программирование на Python», читаемого на программе «Бизнес-информатика» 2 курса бакалавриата в 4 модуле 2022-2023 учебного года.

Занятия ведёт: Тамбовцева Алла Андреевна.

Правила игры

Формула оценки: Итог = 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 апреля)

Дополнительно:

Списки и кортежи. Цикл for. Строки и методы на строках. (15 апреля)

Дополнительно:

Условные конструкции и цикл while. Работа с текстовыми файлами. (22 апреля)

Дополнительно:

Множества и словари (29 апреля)

Дополнительно:

Введение в парсинг с BeautifulSoup (13 мая)

Функции в Python. Lambda-функции (20 мая)

Массивы NumPy и датафреймы Pandas (27 мая)

Дополнительно:

Более продвинутые примеры парсинга и работа с API на примере ВКонтакте (3 июня)

Более продвинутые примеры парсинга и библиотека Selenium (10 июня)

Дополнительно:

Классы в Python. Веб-приложения со streamlit. (17 июня)

  • Видеозаписи и ipynb-файлы.
  • Классы в Python (читать, ipynb).
  • Веб-приложения со streamlit.

Домашние задания

  • Домашние задания сдаются через систему 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