Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
питон ТП6 / Питон.docx
Скачиваний:
24
Добавлен:
18.08.2022
Размер:
13.07 Mб
Скачать

Оператор try ... Exept

В программах могут возникать Исключения

  • синтаксические

  • логические

  • ошибки во время выполнения

Исключения возбуждаются не только при ошибке, но и при наступлении каких-либо событий, например, при делении на ноль возникает исключение ZeroDivisionError или может возникнуть исключение ValueError, если функция index не найдет подстроку в строке

Обрабатывать исключения можно при помощи оператора try...except. Формат записи этого оператора

try:

<Блок, в котором перехватываются исключения>

[except [<Исключение 1> [as <Объект исключения>]]]:

<Блок, выполняемый при возникновении исключения>

[…]

[except [<Исключение N> [as <Объект исключения>]]]:

<Блок, выполняемый при возникновении исключения>

[else:

<Блок, выполняемый, если исключение не возникло>]

[finally:

<Блок, выполняемый в любом случае>]

Части, которые заключены в квадратные скобки могут отсутствовать.

Пример оператора try...Except.

Имеются два числа x и y. Вывести частное от деления x/y, если это можно, иначе вывести сообщение "Произошла ошибка"

x = 5

y =2

try:

z = x/y

print('x/y=', z )

except :

print("Произошла ошибка")

x/y= 2.5

x = 2

y = 0

try:

z = x/y

print('x/y=', z )

except :

print("Произошла ошибка")

Произошла ошибка

Основные понятия объектно-ориентированного программирования. Определение класса. Конструкторы и деструкторы.

Объектно-ориентированное программирование (ООП) — это парадигма программирования, где различные компоненты компьютерной программы моделируются на основе реальных объектов. Объект — это что-либо, у чего есть какие-либо характеристики и то, что может выполнить какую-либо функцию.

• Класс. Описывает модель объекта, его свойства и поведение. Класс — это тип данных, который создается для описания сложных объектов.

• Экземпляр. Для краткости вместо «Объект, порождённый классом „Стул“» говорят «экземпляр класса „Стул“».

• Объект. Хранит конкретные значения свойств и информацию о принадлежности к классу. Может выполнять методы.

• Атрибут. Свойство, присущее объекту. Класс объекта определяет, какие атрибуты есть у объекта. Конкретные значения атрибутов — характеристика уже не класса, а конкретного экземпляра этого класса, то есть объекта.

• Метод. Действие, которое объект может выполнять над самим собой или другими объектами.

Конструктор — это специальный метод, который вызывается по умолчанию когда вы создаете объект класса.

Для создания конструктора вам нужно создать метод с ключевым словом __init__. Взгляните на следующий пример:

Деструкторы вызываются, когда объект уничтожается. В Python деструкторы не нужны так сильно, как в C ++, потому что в Python есть сборщик мусора, который автоматически обрабатывает управление памятью.

Метод __ del __ () известен как метод деструктора в Python. Он вызывается, когда все ссылки на объект были удалены, т.е. когда объект подвергается сборке мусора.

Отношения между классами. Наследование.

Одним из четырех принципов ООП является наследование (вместе с абстракциейинкапсуляциейполиморфизмом).

При создании нового объекта (класса), как в программировании, так и в реальной жизни, мы можем использовать 2 подхода:

  1. Создать экземпляр с нуля.

  2. Использовать уже существующий объект и обработать напильником довести до нужного нам состояния.

Безусловно, второй метод намного эффективнее, проще и требует меньших усилий. Легче вывести новую породу котов скрестив существующие породы, чем пытаться создать животное с нуля.

Множественное наследование

В отличие, например, от Java, в языке Python можно наследовать класс от нескольких классов. Такая ситуация называется множественным наследованием (multiple inheritance).

Класс, получаемый при множественном наследовании, объединяет поведение своих надклассов, комбинируя стоящие за ними абстракции.

Использовать множественное наследование следует очень осторожно, а необходимость в нем возникает реже одиночного.

Множественное наследование можно применить для получения класса с заданными общедоступными методами, причем методы задает один родительский класс, а реализуются они на основе методов второго класса. Первый класс может быть полностью абстрактным.

Множественное наследование применяется для добавления примесей (mixins). Примесь — специально сконструированный класс, добавляющий в некоторый класс какую–либо черту поведения (привнесением атрибутов). Примеси обычно являются абстрактными классами.

Изредка множественное наследование применяется в своем основном смысле, когда объекты класса, получающегося в результате множественного наследования, предназначаются для использования в качестве объектов всех родительских классов.

Соседние файлы в папке питон ТП6