Библиотека knigago >> Компьютеры: Языки и системы программирования >> Python >> Python на примерах. Практический курс по программированию


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1751, книга: Один из первых
автор: Федор Дмитриевич Крюков

Федор Крюков Публицистика «Один из первых» – это захватывающий рассказ о жизни и карьере одного из самых выдающихся российских учёных-астрофизиков, Ивана Сергеевича Шкловского. Автор книги, Федор Крюков, сам работал с Шкловским и был свидетелем его выдающихся достижений. Книга представляет собой биографию Шкловского, начиная с его ранних лет и заканчивая его поздней карьерой. Крюков подробно описывает новаторские идеи Шкловского, в том числе его вклад в понимание квазаров, радиогалактик и...

СЛУЧАЙНАЯ КНИГА

Алексей Николаевич Васильев - Python на примерах. Практический курс по программированию

3-е издание Python на примерах. Практический курс по программированию
Книга - Python на примерах. Практический курс по программированию.  Алексей Николаевич Васильев  - прочитать полностью в библиотеке КнигаГо
Название:
Python на примерах. Практический курс по программированию
Алексей Николаевич Васильев

Жанр:

Программирование: прочее, Python

Изадано в серии:

На примерах

Издательство:

Наука и Техника

Год издания:

ISBN:

978-5-94387-781-0

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Python на примерах. Практический курс по программированию"

В этой книге речь будет идти о том, как писать программы на языке программирования, который называется Python (правильно читается как Пайтон, но обычно название языка читают как питон, что тоже вполне приемлемо). Таким образом, решать будем две задачи, одна из которых приоритетная, а вторая, хотя и вспомогательная, но достаточно важная. Наша основная задача, конечно же, изучение синтаксиса языка программирования Python. Параллельно мы будем осваивать программирование как таковое, явно или неявно принимая во внимание, что соответствующие алгоритмы предполагается реализовывать на языке Python. Большинство авторов книг в своих трудах рассматривают теоретические основы языка и уделяют основное внимание базовому синтаксису языка, не рассматривая при этом практическую сторону его применения. Эта же книга старается восполнить недостаток практического материала, содержит множество примеров с комментариями, которые вы сможете использовать в качестве основы своих программных решений, изучения Python. Материал книги излагается последовательно и сопровождается большим количеством наглядных примеров, разноплановых практических задач и детальным разбором их решений

Читаем онлайн "Python на примерах. Практический курс по программированию". [Страница - 74]

уж
если дело дошло до выполнения команды names [п + 1 ] , то значение п рав­
но 0 или 2 (при значении 1 ошибка возникает на предыдущем шаге). При
значении 0 индекс п +1 дает значение 1 . Элемент с таким индексом в спи­
ске names имеется. Но беда в том, что значение этого элемента мы пытаем­
ся поделить на ноль. Такой самонадеянный проступок приводит к ошибке
класса ZeroDivisionError.
Если значение переменной п равно 2 , то деления на ноль нет, но индекс п +1
равен 3, и элемента с таким индексом в списке names нет. В результате воз­
никает ошибка класса IndexError. Для перехвата и той, и другой ошибки
предназначен except-блок с кортежем из классов исключений LookupError и ArithmeticError. Экземпляр класса ошибки обозначен как err.
Q

На заметку
Класс исключения ZeroDivisionError является производным классом от клас­
са ArithmeticError. Класс исключения IndexError является подклассом клас­
са LookupError. Поэтому в except-блоке с кортежем из классов исключений
LookupError и ArithmeticError перехватываются исключения классов
ZeroDivisionError и IndexError.

В блоке при обработке ошибки выполняется обращение к полю __ с l a s s __
экземпляра ошибки e r r . Значением этого поля является название класса, к
которому относится экземпляр e r r .

*

Глава 8. Немного о разном

Q

На заметку
В программном коде есть команда p r i n t (" - " * 4 5 ). В данном случае отображает­
ся строка, которая получается повторением символа
45 раз.

Как отмечалось ранее, исключения можно не только перехватывать и обра­
батывать, но и генерировать. Зачем генерировать исключения - вопрос от­
дельный. Например, метод генерирования исключений можно рассматри­
вать как некий способ имитации условного оператора или выполнение ана­
лога безусловного перехода в программном коде. Но как бы там ни было, ге­
нерирование исключений как механизм программирования существует, и
мы с ним кратко познакомимся.
С технической точки зрения для генерирования исключения (ошибки) до­
статочно после инструкции r a i s e указать экземпляр класса исключения.
Экземпляр класса исключения можно или создать, или воспользоваться
"готовым" - например тем, что создается автоматически, когда ошибка ре­
ально возникает, и затем передается в блок обработки исключения. Пример
в листинге 8.11 иллюстрирует обе эти ситуации.
Листинг 8 .1 1 . Генерирование исключения
# С оздаем э к зе м п л я р исклю чения
e r r _ o n e = Z e r o D i v i s i o n E r r o r ( "О ш ибка д е л е н и я н а н о л ь ! " )
p r i n t ( "С ей час \" в о з н и к н е т \ " о ш и б к а.")
p r i n t ( " П е р в а я :" )
# Описание э к з е м п л я р а исклю чения
p rin t(e rr_ o n e )
# Контролируемый код
try :
# Г е н е р и р о в а н и е ош ибки
r a is e err_one
# О б р а б о т к а ош ибк и
e x c e p t Z e ro D iv isio n E rro r as err_ tw o :
p r i n t ( " В т о р а я :" )
# О п и с а н и е ош ибк и
p rin t(e rr_ tw o )
# Контролируемый код
try :
# П о в т о р н о е г е н е р и р о в а н и е ош ибки
r a i s e e rr_ tw o
# О б р а б о т к а ош ибки
ex c ep t Z e ro D iv isio n E rro r as e r r _ th r e e :
p r i n t ( " Т р е т ь я :")
# О п и с а н и е ош ибки
p rin t(e rr_ th re e )

•Ш Ш

Python

# Контролируемый код
try :
# Попытка д е л е н и я н а н ол ь

а=1/0
# О б р а б о т к а ош ибки
ex c e p t Z e ro D iv isio n E rro r as
p r i n t ( " Ч е т в е р т а я :" )
# О п и с а н и е ош ибки
p rin t(e rr_ fo u r)
p r i n t ( "Больш е н и к а к и х о ш и б о к ." )

err_ fo u r:

При выполнении программного кода получаем такой результат:
Результат выполнения программы (из листинга 8 .1 1 )
С ейчас "в о з н и к н е т " ош ибка.
П ервая:
Ошибка д е л е н и я н а н о л ь !
В торая:
Ошибка д е л е н и я н а н о л ь !
Третья:
Ошибка д е л е н и я н а н о л ь !
Ч етвертая:
d i v i s i o n by ze ro
Больше н и к а к и х ош ибок.

В этом программном коде командой err_one=ZeroDivisionError
("Ошибка деления на ноль!") мы создаем экземпляр егг_опе ис­
ключения класса ZeroDivisionError. Текст, который передается аргу­
ментом конструктору при создании экземпляра, служит описанием ошиб­
ки. Именно этот текст будет результатом приведения экземпляра исключе­
ния к текстовому формату: например, если передать экземпляр егг_опе в
качестве аргумента методу print ( ), в результате в окне вывода появится
текст "Ошибка деления на ноль !".
Затем в t r y -блоке выполняется команда r a i s e err_one, в результате
чего генерируется ошибка, реализованная через экземпляр егг_опе клас­
са ZeroDivisionError.
Щ

На зам етку

Обратите внимание, что создание экземпляра исключения не
означает возникновения ошибки. Для --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.