Классы и снова объекты
Конспекты
План
- Вдогонку про интерфейсы:
- pack (fill, expand, side)
- Frame
- Entry (метод get), Label (параметр text)
- after, after_idle
- Классы:
- Идея: конкретный стул, идеальный стул (платоновское воплощение стульности всех стульев); объект = состояние + поведение; класс = общая часть состояния (обычно пусто) + общая часть поведения (обычно всё поведение)
- Для чего обычно нужны классы: векторы, объекты в моделях и т.п.
- Синтаксис, пример: вектор
- Класс = объект. Прототипы. (Упомянуть про наследование?)
self, __init__
- Бывают классы ради технической нужды
- Наш пример с фракталами: нам нужно хранить состояние - рамку поля зрения
Контрольная работа
- Имя, фамилия:
- Что ответит питон на такой вопрос:
Числа Фибоначчи устроены следующим обазом: F1 = F2 = 1, Fn+2 = Fn+1 + Fn, т. е. ряд чисел Фибоначчи начинается так: 1, 1, 2, 3, 5, 8, 13, ... Напишите функцию fib(n), которая возвращает n-ое число Фибоначчи:
Задание
Памятка: задание – то, что обязательно выполнить для получения зачёта; упражнения – необязательные, но как правило задание решить проще, если сначала выполнить все упражнения; если вы меня пнёте, выдам вам комментарии про то, что и как лучше, и по заданию, и по упражнениям.
Перепишите вашу программу fractal.py таким образом, чтобы на экране постепенно появлялось изображение по мере отрисовки.
Перепишите вашу программу fractal.py таким образом, чтобы в ней можно было рассматривать фрагмент фрактала. А именно:
- нажатие левой кнопки мыши увеличивает картинку (т.е. отмечает точку, куда указывает курсор мыши, чтобы она стала центром экрана после перерисовки, увеличивает масштаб вдвое, перерисовывает картинку)
- нажатие правой кнопки мыши уменьшает картинку
Упражнения
Допишите программу fractal.py так, чтобы в ней можно было менять какие-нибудь настройки фрактала. (Для фрактала из семейста множеств Жюлиа – выбирать точку множества Мандельброта; для фракталов с параметрами – менять параметры; для фракталов без параметров – настраивать цветовую гамму и/или вращать изображение).