Вывод
Пайтон я изучил, прошел курс на codecademy, решил несколько задач на chekio и codewars. Дочитал до донца основную часть книги Лутца "Основы программирования на Пайтон". Цель была поставлена немного размыто, но в целом считаю, что результата по ней я достиг. Поэтому успешно ее закрываю.
В будущем возможно поставлю более конкретную цель по изучению программирования.
Всем спасибо и успехов в достижении собственных целей.
Дневник цели
Давно не отписывался по этой цели. В принципе я ее закрываю, так как в общих чертах Пайтон я изучил, прошел курс на codecademy, решил несколько задач на chekio и codewars. Дочитал до донца основную часть книги Лутца "Основы программирования на Пайтон". Цель была поставлена немного размыто, но в целом считаю, что результата по ней я достиг. Поэтому успешно ее закрываю.
В будущем возможно поставлю более конкретную цель по изучению программирования.
Всем спасибо и успехов в достижении собственных целей.
Начал читать главу 36. Юникод и строки байтов.
Остановился на стр. 1005
Дочитал главу 35. Использование исключений. В конце говорится, что этой главой заканчивается изучение основ языка программирования Python и что дальше идут расширенные возможности и дополнительные задания. Вот думаю, стоит ли читать дальше? Наверно добью все таки до конца эту книгу.
Прочитал 34 главу: "Объекты исключений".
Узнал, что в Питоне 2,6 и 3,0 исключения могут быть реализованы только как экземпляры классов (старый метод строковых исключений теперь не используется). Это сделано для удобства, так как классы позволяют создавать категории исключений и присоединять дополнительную информацию.
Сейчас дочитал главу 33. Особенности использования исключений.
Узнал, что существует инструкция raise, которая вручную может возбуждать исключения (которые должны быть экземпляром класса)
Инструкция assert возбуждает исключение AssertionError, когда условное выражение возвращает ложное значение. Она похожа на инструкцию raise обернутую оператором if.
Инструкция with/as предназначена для автоматического запуска программного кода, выполняющего предварительные и завершающие действия перед входом и после выхода из обернутого блока программного кода. (как работает эта инструкция и для чего она нужна я до конца не разобрался).
Остановился на стр. 954
Есть типичный пример по with as:
```
with open('file.txt') as text_file:
data = text_file.read()
# что-нибудь еще
```
Мы открываем файл, проводим с ним определенные операции и после завершения блока кода with файл будет автоматически закрыт и нам не придется вызывать text_file.close(), что мы могли бы тупо забыть сделать. Это работает не только с файлами, а со всем, у чего есть методы __enter__ и __exit__. Мне задавали вопрос по with/as на одном собеседовании, кстати = )
Ммм...ну твое объяснение я понял, благодарю, а есть еще какие-нибудь примеры применения этой инструкции?
Сугубо теоретический: https://gist.github.com/lancelote/8c0804b148887e993da6
Марк Лутц. стр. 941.
Все что понял так это то, что порядок должен быть такой:
try -> except -> else -> finally
Начал читать главу 33. Особенности использования исключений. Где рассказывалось про обобщенную инструкцию try/except/else и методы ее применения.
Остановился на стр. 939