- •Математические операции.
- •Сложение, Вычитание, Умножение, Деление
- •Возведение в степень
- •Скалярные типы данных.
- •С оставные типы данных.
- •Операторы if/elif/else, for, while, in, for/else.
- •Последовательности и функции работы с ними.
- •Булевый тип данных.
- •Множества и функции работы с ними.
- •Отображения (словари) и функции работы с ними.
- •Строки и операции над строками.
- •5) S[start:top:step] (Срез)
- •Примеры использования функций форматного ввода-вывода (f, format, %).
- •Функции.
- •Управление памятью.
- •Виртуальная среда и менеджер пакетов.
- •Открытие и закрытие файлов.
- •Понятия ооп: класс, объект, наследование, переменные класса. Ооп по алан кей
- •Три вида наследования.
- •Переменные класса
- •Метод __init__, понятие self.
- •Протокол итерации.
- •Ctypes: пример использования.
- •Виды интерфейсов.
- •Графический интерфейс: ui/ux, этапы построения интерфейсов, золотое сечение.
- •Основы библиотеки tkinter.
- •Преимущества статического анализа кода
- •Недостатки статического анализа кода
- •Методы обеспечения качества по. Основные методы обеспечения качества по
- •Основы библиотеки pytest.
- •Алгоритмы поиска.
- •Прямой поиск (o(n))
- •Бинарный поиск (o(log n))
- •Алгоритмы сортировки.
- •Пузырьковая
- •Сортировка слиянием
Понятия ооп: класс, объект, наследование, переменные класса. Ооп по алан кей
1. Все есть объект.
2. Программа — совокупность объектов, указывающих друг другу что делать.
3. Каждый объект имеет свою собственную «память» состоящую из других объектов.
4. У каждого объекта есть тип.
5. Все объекты одного типа могут получать одинаковые сообщения.
ООП. PYTHON
Класс (class) - элемент программы, который описывает какой-то тип данных. Класс описывает шаблон для создания объектов, как правило, указывает переменные этого объекта и действия, которые можно выполнять применимо к объекту.
Экземпляр класса (instance) - объект, который является представителем класса.
Метод (method) - функция, которая определена внутри класса и описывает какое-то действие, которое поддерживает класс
Переменная экземпляра (instance variable, а иногда и instance attribute) - данные, которые относятся к объекту
Переменная класса (class variable) - данные, которые относятся к классу и разделяются всеми экземплярами класса
Атрибут экземпляра (instance attribute) - переменные и методы, которые относятся к объектам (экземплярам) созданным на основании класса. У каждого объекта есть своя копия атрибутов.
Для создания классов используется ключевое слово class
Имена классов принято писать имена классов в формате CamelCase.
Для создания экземпляра класса, надо вызвать класс
КЛАСС имеет:
1. Имя — обычно существительное (возможно, полученное в результате номинализации).
2. Экземпляры — объекты.
3. Поля — состояние.
4. Методы — поведение,
5. Инварианты (непротиворечивое внутреннее состояние объекта).
ОБЪЕКТ.
1. Тип.
2. Идентичность и состояние.
3. Изменяемость.
4. Логическое и физическое состояние объекта.
ОБЪЕКТ-ЗНАЧЕНИЕ.
1. Простейший объект.
2. Идентификация по состоянию, а не по идентификатору.
3. Переопределена операция сравнения: два объекта равны, если их состояния равны.
ОБЪЕКТ-ССЫЛКА.
1. Сложный объект
2. Много логики и данных.
3. Идентичность по ссылке.
НАСЛЕДОВАНИЕ.
1. Возможность использования полей и методов родителя(ей).
2. Определение нового типа путем расширения или модификации существующего.
3. Множественное наследование (семантическая неопределенность: проблема ромба).
Наследование позволяет выделить общее для нескольких классов поведение и вынести его в отдельную сущность.
Указываем наследника в скобках при объявлении класса.
Методы родителя экземпляра используем через super().
Три вида наследования.
1. Специализация - специфичная разновидность (другие свойства).
2. Замещение - другое поведение.
3. Реализация - совместное использование кода.
Переменные класса
Помимо переменных экземпляра, существуют также переменные класса. Они создаются, при указании переменных внутри самого класса, не метода:
К переменным класса можно обращаться по-разному:
self.ips: изменяет переменную экземпляра.
switch.ips: изменяет переменную класса (класс прописывается вручную).
type(self).ips: изменяет переменную класса.