Python (физики), 2016/17 — различия между версиями
Материал из SEWiki
Darnley (обсуждение | вклад) |
Darnley (обсуждение | вклад) (→План 2 семестра) |
||
(не показано 13 промежуточных версий 3 участников) | |||
Строка 7: | Строка 7: | ||
Лектор: Михаил Дворкин, mikhail.dvorkin@gmail.com | Лектор: Михаил Дворкин, mikhail.dvorkin@gmail.com | ||
− | == План == | + | [https://docs.google.com/spreadsheets/d/1zEGaaEGQYcz9pMnHsHViHFPuaRsnrZR-7sGswTnLxu0/edit?usp=sharing Результаты практики] группы Антона Гардера, '''a.garder[at]aptu.ru''' |
+ | |||
+ | [https://goo.gl/5F8V6L Результаты] группы Андрея Лазаревича '''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 | ||
+ | |||
+ | [https://gist.github.com/mikhail-dvorkin/4984e29d8cb275451aee16c0e9e4ace6 Черновик с лекции] | ||
+ | |||
+ | == План 1 семестра == | ||
Лекция 1 | Лекция 1 | ||
Строка 41: | Строка 77: | ||
* Двумерные списки (списки списков) | * Двумерные списки (списки списков) | ||
* print: именованные параметры sep и end | * 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 [http://pastebin.com/S2Kp4wr5 Код с доски] | ||
+ | * оператор yeild | ||
+ | * генераторы | ||
+ | * __iter__(), __next__(), итераторы | ||
+ | * методы модуля itertools | ||
+ | |||
+ | |||
+ | Лекция 13 [http://pastebin.com/636H04MN некрасивый черновик с экрана] | ||
+ | * Регулряные выражения. Синтаксис. Группы (скобки). | ||
+ | * Модуль re: search, match, fullmatch, sub, findall | ||
+ | * groups(), group() |
Текущая версия на 16:07, 10 апреля 2017
О курсе
Язык 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()