Курс по основам программирования на Python (файл 23.10)
Лари Широкова, студентка 日本デザイン福祉専門学校 (Токио, Япония).
@lari_shirokova, me [at] lari-shirokova.ru
Устройство курса
Курс происходит в “перевёрнутом” формате: до встречи я записываю короткий ролик с рассказом о теории и даю ссылки на иную документацию, на встрече идёт выполнение упражнений, отработка и вопросики.
После каждой встречи слушателям даётся задание на повторение и закрепление.
Курс завершается созданием проекта, который каждый из слушателей делает сам или в группе (однако с учётом, что это курс для начинающих – лучше выбрать небольшой индивидуальный проект).
Задания повторения
Сделав задание – расшарьте файл Colab и отправьте его в раздел чата по теме. Посмотрите соседние с вами сообщения, на которых ещё нет реакций
Время и место
Происходит в Zoom, в 13:00 МСК (19:00 Токио), почти каждую субботу; чят – в Телеграме.
Задания публикуются в чате, материалы – в чате и на странице https://lari-shirokova.ru/projects/2025/python.
Занятия рассчитаны на 1:30, однако я буду в созвоне ещё некоторое время для тех, у кого есть вопросы или кому времени нужно больше (не больше 2 часов в целом).
Записи занятий будут публиковаться в чате в разделе “Объявления” и дублироваться в закрепы разделов по темам.
Инструменты
Для практики вам потребуется Google-учётка: мы используем Google Colab.
При желании, вместо Colab можно использовать VisualStudio Code с дополнением Jupyter Notebook или пакет Anaconda, где есть отдельная программа.
Темы
- Основы программирования и первая программа
- Как сделать что-то простое и заранее мне известное?
- Программа недели:
- о работе программиста в эпоху ChatGPT;
- о параллелях программирования с управлением людьми;
- об инструментах курса;
- как работать в Колабе;
- функции, input() и print();
- переменные;
- аргументы, print(sep=), print(end=), print("",’’), f-Строки, \n;
- простые типы данных: строки, целые числа, вещественные числа; работа с ними;
- справка языка и документация программ, help().
- Перед встречей: блокнот и
видео (в этот раз без него).
- Практики: блокнот для практики и повторения, с инструкцией по отправке решений в чат, чтению сужих блокнотов и комментированию, эталонные решения практик.
- Изучаемые функции [Official Docs]: int(), float(), str(), f-String, \n, input(), print(), help(), variable, Errors
- Изучаемые функции [по-русски]: int(), float(), арифметические операции, str(), f-Строка, \n, input() и print(), help(), переменные, работа с ошибками
- Урок по теме в ПитонТьюторе.ру
- Документация Google Colab: Official Docs, по-русски
- Принцип Тима Тоуди
- Ответы на вопросы во время занятия и упомянутые интересности:
- Условия
- Как делать разные вещи в разных ситуациях?
- Программа недели:
- Делаем что-то дополнительное: if, > < == != <= >=
- Контексты в Python, двоеточия и отступы
Рекомендации оформления кода, когда программы становятся большими и сложными
- Делаем это или то: if … else
- Делаем что-то одно из большого списка: if … elif … else
- Проверяем сразу несколько условий: or, and,
скобки
- Вложенные контексты
- проверяем условие, пока оно не закончит выполняться: условный цикл while
- Перед встречей: блокнот и видео.
- Практики:
- Калькулятор, умеющий работать с любыми числами;
Ключевое слово в тексте;
- Выбор маршрута к Фудзи-сан;
- Игра “угадайка”.
- Блокнот во время встречи
- Для повторения: блокнот и эталонные решения.
- Изучаемые функции [Official Docs]: if, if … else, if … elif … else,
len(), while, in/not in
- Изучаемые функции [по-русски]: if, if … else, if … elif … else,
len(), while, in/not in
- Урок по теме условий в ПитонТьюторе и ещё один.
- Коллекции данных и условный цикл
- Как найти букву в строке, мелонпан среди покупок,
а телефон – зная имя человека?
- Программа недели:
- обращение к символу в строке;
- списки – зачем нужны, как создать в коде;
- количество элементов;
изменяемое и неизменное;
словари;
- логический тип данных и True;
- скобки в условиях;
кортежи, множества (только упоминание);
- цикл while и средства гибкого управления работой циклов: break,
continue.
- До встречи: блокнот и видео.
- Практики:
- Изучаемые функции [English]: len(), in/not in, not, brackets, boolean type, True and False, symbols in strings
- Изучаемые функции [по-русски]: len(), in/not in, not, скобки, логический тип и его значения: True и False, break и continue, символы в строке
- Срезы и методы
- Как найти нужную информацию в коллекции?
- списки: как создать из строки, как создать пошагово, как превратить в строку
- in/not in списков
- доступ к символу строки-элемента списка
- срез от N до M-1 [N:M]
- срез от N до M-1, каждый K-й элемент [N:M:K]
- str.startwith() и другие методы строк
- list.find(), list.count() и другие методы списков
- Блокнот до встречи и там же программа во время встречи, стартового видео в этот раз не было.
- Блокнот для повторения и [эталонные решения к нему].
- Циклы перебора 25.10 в 17:00 МСК (23:00 Токио, МСК+6)
- Как обработать каждый кусочек информации?
- цикл for для коллекций
- for in range(N)
- for in range(N,M)
- for in range(N,M,K) (оно не просто так похоже на 4/[N:M:K])
- вложенные структуры данных: списки списков, списки словарей, словари списков etc…
- Вместо блокнота перед встречей: статья про цикл перебора For и статья про словари – статью про словари прочитайте до заголовка “Создание словаря”.
- Файлы и библиотеки
- Как не вводить постоянно одно и то же в программу вручную?
- Как не писать код, который уже написал кто-то умный и добрый до нас?
- with open
- режимы доступа к файлам
- import
- pip install
- from random import …
- import CSV
- Собственные функции и собственные типы данных
- Как писать код один раз?
- Как писать код для собственных сложных данных?
- Несколько полезных библиотек[0]
- Несколько полезных библиотек[1]
- Как обрабатывать информацию СМИ – но не сильно погружаясь в дебри обработки HTML-кода?
- newspaper4k GitHub, Docs
- Matplotlib PyPi Docs
- Dostoevsky GitHub
- Несколько полезных библиотек[2]
- Есть данные, много, как узнать что-то интересное и не умереть в процессе?
- LLM API (ChatGPT etc)
- Перечень частоиспользуемых библиотек для разных наук: Pandas, PyChem, etc
- Где ещё применяется питон и как он там запускается (WSGI/CLI/IDE etc)
- Проектики
- обсуждение проектов слушателей, рефлексия курса
Общие правила и homekeeping
Пишите вопросы в чат — так будет проще тем, кто тоже столкнулся с вопросом, понять, что она/он не один и подключиться у обсуждению.
Curiosity deserves a reward, как говорит Нахида (и кто я такая, чтобы спорить с богиней мудрости.
Спрашивайте про всё неясное — мы здесь, чтобы понять.
ИИ и всякий чатгпт могут писать код (буквы на экране), но понимание происходящего — остаётся за человеком.
Писать вопросы в чат можно в любое время, меня можно не тегать — я прочитаю и отвечу сразу, как будет время.
Обычно я делаю видео к четвергу, к видео будет идти блокнот со ссылками на документацию, в блокноте можно сразу экспериментировать.
Что ещё есть полезного про Питон?
- комик-шоу “Летающий Цирк Монти Пайтона”;
- Записи моего курса “Python как иностранный”, если вы их найдёте (я вот не могу найти уже вне систем Вышки :-( )
- ПитонТьютор – очень хороший сайт для самостоятельного изучения Питона, с кучей упражнений. Я советовала его всем своим ученикам и студентам как дополнительный источник “чего пописать для практики” или альтернативных моим объяснений.
- Марк Лутц, “Изучаем Python”. (комментарии не требуются)
- Шпаргалка: English web-site,
Обязательные упоминания
Эта страница делается в Dillinger – наверное, лучшем Markdown-редакторе, который я люблю всем сердцем.
Курс основан на курсе Coursera “Питон как иностранный”, который я с коллегами сняла в НИУ ВШЭ, и имела честь вести на разных образовательных программах в 2020-2023; работе учителем в школе 1586 в Москве и опыте руководства разработкой IT-проектов.