Содержание
- 2. ООП Несмотря на то, что Python - мультипарадигменный язык (сочетает в себе элементы структурного, объектно-ориентированного и
- 3. Первое, что нужно помнить о Python ... в Python все является объектом! Строки - это объекты.
- 4. Динамическая типизация Python - это динамический язык с динамической системой типов. Однако, несмотря на наличие динамической
- 5. Утиная типизация Порой знатоки Питона напускают на себя таинственный вид и говорят об "Утиной типизации". Утиная
- 6. Утиная типизация Это один из видов динамической типизации при которой принадлежность объекта к тому или иному
- 7. Классы Так как Python поддерживает объектно-ориентированную парадигму программирования, это значит, что мы можем определить компоненты программы
- 8. Классы С точки зрения кода класс объединяет набор функций и переменных, которые выполняют определенную задачу. Функции
- 9. Пример Определим простейший класс Person, который будет представлять человека: class Person: name = "Tom" def display_info(self):
- 10. Пояснение Класс Person определяет атрибут name, который хранит имя человека, и метод display_info, с помощью которого
- 11. Конструктор В объектно-ориентированном программировании конструктором класса называют метод, который автоматически вызывается при создании объектов. Его также
- 12. Значения по умолчанию class Rectangle: def __init__(self, w = 0.5, h = 1): self.width = w
- 13. Конструкторы Так, выше когда мы создавали объекты класса Person, мы использовали конструктор по умолчанию, который неявно
- 14. class Person: # конструктор def __init__(self, name): self.name = name # устанавливаем имя def display_info(self): print("Привет,
- 15. Пояснение В качестве первого параметра конструктор также принимает ссылку на текущий объект - self. Нередко в
- 16. Деструктор После окончания работы с объектом мы можем использовать оператор del для удаления его из памяти:
- 17. Деструктор Кроме того, мы можем определить в классе деструктор, реализовав встроенную функцию __del__, который будет вызываться
- 18. class Person: # конструктор def __init__(self, name): self.name = name # устанавливаем имя def __del__(self): print(self.name,"удален
- 19. Определение классов в модулях и подключение Как правило, классы размещаются в отдельных модулях и затем уже
- 20. Определение класса В файле classes.py определим два класса: class Person: # конструктор def __init__(self, name): self.name
- 21. В дополнение к классу Person здесь также определен класс Auto, который представляет машину и который имеет
- 22. Подключение классов Подключение классов происходит точно также, как и функций из модуля. Мы можем подключить весь
- 23. Инкапсуляция Инкапсуляция — в ООП размещение в одном компоненте данных и методов, которые с ними работают.
- 24. Инкапсуляция class Person: def __init__(self, name): self.name = name # устанавливаем имя self.age = 1 #
- 25. Инкапсуляция Но в данном случае мы можем, к примеру, присвоить возрасту или имени человека некорректное значение,
- 26. Изменим выше определенный класс, определив в нем свойства: class Person: def __init__(self, name): self.__name = name
- 27. Инкапсуляция Для создания приватного атрибута в начале его наименования ставится двойной прочерк: self.__name. К такому атрибуту
- 28. Инкапсуляция Однако все же нам может потребоваться устанавливать возраст пользователя из вне. Для этого создаются свойства.
- 29. Инкапсуляция Для изменения возраста определено другое свойство: def set_age(self, value): if value in range(1, 100): self.__age
- 30. Аннотации свойств Выше мы рассмотрели, как создавать свойства. Но Python имеет также еще один - более
- 31. Перепишем класс с использованием аннотаций class Person: def __init__(self, name): self.__name = name # устанавливаем имя
- 32. @property def name(self): return self.__name def display_info(self): print("Имя:", self.__name, "\tВозраст:", self.__age) tom = Person("Tom") tom.display_info() #
- 33. @age.deleter def age(self): del self.__age метод вызывается при удалении свойства Потылицина Е.М.
- 34. Аннотации Во-первых, стоит обратить внимание, что свойство-сеттер определяется после свойства-геттера. Во-вторых, и сеттер, и геттер называются
- 35. Наследование Наследование позволяет создавать новый класс на основе уже существующего класса. Наряду с инкапсуляцией наследование является
- 36. Наследование Например, ранее был создан класс Person, который представляет человека. Предположим, нам необходим класс работника, который
- 37. Унаследуем класс Employee от класса Person class Person: def __init__(self, name, age): self.__name = name #
- 38. @property def name(self): return self.__name def display_info(self): print("Имя:", self.__name, "\tВозраст:", self.__age) class Employee(Person): def details(self, company):
- 39. Наследование Класс Employee полностью перенимает функционал класса Person и в дополнении к нему добавляет метод details().
- 40. Полиморфизм Полиморфизм является еще одним базовым аспектом объектно-ориентированного программирования и предполагает способность к изменению функционала, унаследованного
- 41. class Person: def __init__(self, name, age): self.__name = name # устанавливаем имя self.__age = age #
- 42. def display_info(self): print("Имя:", self.__name, "\tВозраст:", self.__age) class Employee(Person): # определение конструктора def __init__(self, name, age, company):
- 43. class Student(Person): # определение конструктора def __init__(self, name, age, university): Person.__init__(self, name, age) self.university = university
- 44. Полиморфизм В производном классе Employee, который представляет служащего, определяется свой конструктор. Так как нам надо устанавливать
- 45. Полиморфизм Поэтому в конструктор базового класса передаются имя и возраст. Сам же класс Employee добавляет к
- 46. Полиморфизм В основной части программы создается список из трех объектов Person, в котором два объекта также
- 47. Проверка типа объекта При работе с объектами бывает необходимо в зависимости от их типа выполнить те
- 48. Пример Например, возьмем выше описанную иерархию классов: for person in people: if isinstance(person, Student): print(person.university) elif
- 49. Проектирование программы В ООП очень важно предварительное проектирование. В общей сложности можно выделить следующие этапы разработки
- 50. Практика 1. Напишите программу по следующему описанию. Есть класс "Воин". От него создаются два экземпляра-юнита. Каждому
- 52. Скачать презентацию

















































История компьютерных вирусов
Разработка кроссплатформенного приложения WMT
Вирус iloveyou
Сертификация
Ключевые вопросы для обсуждения на текущий период
Основы формальной теории защиты информации
Регистрация в АИС Путевка
Информационная безопасность персональных компьютеров
Умный дом
Процессы хранения информации
Введение в профессию web - разработчика
Курсовая работа по Adobe Illustrator
Коммуникационные технологии
Создание диаграмм и Защита баз данных
9_1dz (1)
Презентация на тему Представление графической информации в компьютере
Требования к информационным стендам
Алгоритмизация и программирование
Система распознавания лиц для контроля доступа на объект
Общие сведения о Microsoft Excel 2010. Ввод данных
Математические основы информатики. (Тема 2)
Листовка по оплате задолженности СбербанкОнлайн
Цифровой участок для мобильного избирателя. КРОК
Шаблон для презинтаций
Информашка. Тест
ГИА составляется на основе стандарта основного общего образования, и сдать его успешно может любой выпускник IX класса
Машины. Игра
Арифметические операции в позиционных системах счисления. Представление информации в компьютере. 10 класс