Python (физики), 2016/17
Материал из SEWiki
О курсе
Язык Python. Мы изучаем ветвь языка Python 3.* (более современную).
Рекомендуемая книга (но есть и множество других хороших): «A Byte of Python» (ENG, RUS)
Лектор: Михаил Дворкин, mikhail.dvorkin@gmail.com
Результаты практики группы Антона Гардера, a.garder[at]aptu.ru
Результаты группы Андрея Лазаревича thecexcell@gmail.com
План 2 семестра
Лекция 1
- Хранение вещественных чисел (IEEE floating point)
Лекция 2
- Библиотека NumPy
- np.array()
- применение операторов поэлементно (a + b, a == b)
- .ndim
- .shape
- .dtype
- np.arange()
- np.linspace()
- np.ones()
- np.zeros()
- np.eye()
- np.diag()
- np.random.rand()
- np.random.random_integers()
- np.tile()
Лекция 3
- broadcasting
- адресация в массиве: срезы, a[list], a[predicate]
...
Лекция N
План 1 семестра
Лекция 1
- Знакомство, введение, описание языка Python
- Вывод на экран
- Тип данных int
- Арифметические операторы
Лекция 2
- Структура программы: отступы
- if, else, elif
- for
- range от 1, 2 и 3 аргументов
- while
- break
- continue
- Строки: escaping, +, *, индексация, срезы
Лекция 3
- Cписки
- +, *, индексация, срезы
- присваивание в срезы
- append, extend, pop, reverse, sort
- in, not in
- split, join
- help, type, dir
Лекция 4
- Генераторы списков
- Котрежи
- Изменяемые и неизменяемые объекты, ссылки
- Двумерные списки (списки списков)
- print: именованные параметры sep и end
Лекция 5
- Словари
- Устройство словаря: хеш-таблица
- Хешируемые/неизменяемые объекты
- Функции
- Аргументы по умолчанию, *аргументы, **аргументы
Лекция 6
- Работа с файлами через командную строку: | < >
- Файлы в питоне, read, readline, readline, write, print
- Работа с ресурсами: оператор with
- GUI. Tkinter. Создание приложение, расположение и конфигурирование объектов
Лекция 7
- GUI. Tkinter. Вызов команд при нажатии на кнопки.
- Создание кнопок в цикле, разные команды для разных кнопок.
- Лямбда-функции.
- Замыкания в лямбда-функциях.
Лекция 8
- Модули
- import module, from module import _
- Вызов основного кода, __name__ == '__main__'
- Пакеты
Лекция 9
- ООП
- Создание класса, конструктор, параметр self
- Метод класса, вызов как object.method()
- Поля класса, глобальные поля класса
- Наследование. Вызов метода (или конструктора) родительского класса.
- Пример: наследование от встроенных классов.
Лекция 10
- Перегрузка операторов
- __str__(), __repr__()
- __eq__()
- NotImplemented
- __add__(), __radd__()
- Желательность эквивалентности ==, ассоциативности +
Лекция 11
- bytes, hash, len
- bool, int, float
- getitem, setitem
- call
- divmod
- iadd
- pow
- Быстрое возведение в степень
- contains
Лекция 12 Код с доски
- оператор yeild
- генераторы
- __iter__(), __next__(), итераторы
- методы модуля itertools
Лекция 13 некрасивый черновик с экрана
- Регулряные выражения. Синтаксис. Группы (скобки).
- Модуль re: search, match, fullmatch, sub, findall
- groups(), group()