👍1👎1
сохранять внутреннее состояние между вызовами next(), даже когда происходят исключения.
«При вызове функции-генератора возвращается итератор, известный как генератор. Этот генератор затем управляет выполнением функции-генератора (counter). Выполнение начинается при вызове одного из методов генератора. В этот момент выполнение переходит к первому выражению yield, где снова приостанавливается, возвращая значение yield_list вызывающей стороне генератора или None, если yield_list опущен. Под приостановкой мы подразумеваем сохранение всего локального состояния, включая текущие привязки локальных переменных, указатель инструкций, внутренний стек вычислений и состояние обработки любых исключений».
👍3👎1
👍1👎1
«Целевое назначение конструкции else не всегда сразу очевидно для новичков в Python. Однако без нее отсутствует прямой способ сообщить (без установки и проверки булевских флагов), продолжил поток управления выполнение после оператора try из-за того, что никаких исключений не возникало или же исключение произошло и обработано. В любом случае мы оказываемся после оператора try:
try:
...выполнить код...
except IndexError:
...обработать исключение...
# Мы сюда попали из-за того, что try потерпел неудачу или же прошел?
Во многом подобно тому, как конструкции else в циклах придают причине выхода
большую очевидность, конструкция else предоставляет в операторе try синтаксис,
который делает то, что произошло, ясным и недвусмысленным:
try:
...выполнить код...
except IndexError:
...обработать исключение...
else:
...исключения не возникали...»
👍3🔥1
👍7👎1
«Pandas складывает значения на позициях с метками B и C и возвращает значения NaN для оставшихся индексов (A, D и E). Любая арифметическая операция с участием значения NaN
возвращает NaN».
👍1👎1
GlowByte запускает второй сезон образовательного онлайн-ретрита по FineBI — «Второе дыхание»!
13 дней обновленной программы с 3 новыми уроками, практическими вебинарами и призами за лучшие домашние задания.
Что ждет участников:
• Обновленные домашние задания с системой призов
• Три специальных вебинара: FineReport Pro (28 августа), AI-революция в аналитике (2 сентября), 3D-визуализация с FineVis (9 сентября)
• Успешные кейсы от Tele2, Уралсиб, Циан и других компаний
Программа для всех, кто работает с данными — от разработчиков до руководителей.
Старт 25 августа!
Регистрируйтесь по ссылке и получите второе дыхание в мире BI-аналитики.
Это #партнёрский пост
13 дней обновленной программы с 3 новыми уроками, практическими вебинарами и призами за лучшие домашние задания.
Что ждет участников:
• Обновленные домашние задания с системой призов
• Три специальных вебинара: FineReport Pro (28 августа), AI-революция в аналитике (2 сентября), 3D-визуализация с FineVis (9 сентября)
• Успешные кейсы от Tele2, Уралсиб, Циан и других компаний
Программа для всех, кто работает с данными — от разработчиков до руководителей.
Старт 25 августа!
Регистрируйтесь по ссылке и получите второе дыхание в мире BI-аналитики.
Это #партнёрский пост
👍1🤬1
This media is not supported in your browser
VIEW IN TELEGRAM
Взгляните на IT-мир по-новому
12 сентября. Топовые IT-компании. Закулисье разработок и доклады экспертов. Ещё не знаете, о чём речь? Сейчас расскажем!
Приглашаем вас на big tech night. Событие придумали в Яндексе и организовали вместе со Сбером, X5, Т-Банком и Lamoda. Впервые компании одновременно откроют двери офисов ночью и покажут IT-специалистам, где рождаются технологии.
▶️ В московских офисах организаторов вы:
• послушаете доклады топовых экспертов,
• обсудите новейшие разработки,
• познакомитесь с крутыми профессионалами,
• и просто повеселитесь.
▶️ Если не сможете прийти офлайн, big tech night организует онлайн-студию. Зрители смогут:
• посмотреть выступления спикеров от каждой компании,
• послушать дебаты о технологиях,
• поучаствовать в интерактивах,
• получить записи докладов после мероприятия.
Регистрируйтесь на сайте и присоединяйтесь к нам 12 сентября с 18:00 до 00:00!
Подписывайтесь:
big tech night
Реклама. Рекламодатель: ООО "Яндекс" ИНН 7736207543
Это #партнёрский пост
12 сентября. Топовые IT-компании. Закулисье разработок и доклады экспертов. Ещё не знаете, о чём речь? Сейчас расскажем!
Приглашаем вас на big tech night. Событие придумали в Яндексе и организовали вместе со Сбером, X5, Т-Банком и Lamoda. Впервые компании одновременно откроют двери офисов ночью и покажут IT-специалистам, где рождаются технологии.
▶️ В московских офисах организаторов вы:
• послушаете доклады топовых экспертов,
• обсудите новейшие разработки,
• познакомитесь с крутыми профессионалами,
• и просто повеселитесь.
▶️ Если не сможете прийти офлайн, big tech night организует онлайн-студию. Зрители смогут:
• посмотреть выступления спикеров от каждой компании,
• послушать дебаты о технологиях,
• поучаствовать в интерактивах,
• получить записи докладов после мероприятия.
Регистрируйтесь на сайте и присоединяйтесь к нам 12 сентября с 18:00 до 00:00!
Подписывайтесь:
big tech night
Реклама. Рекламодатель: ООО "Яндекс" ИНН 7736207543
Это #партнёрский пост
🔥3🤬1
👍2👎1
«Классы исключений могут быть определены так, чтобы делать все, что может делать любой другой класс, но обычно они остаются простыми, часто предлагая только ряд атрибутов,
которые позволяют извлекать информацию об ошибке».
«Все встроенные исключения наследуются от Exception. Когда исключение вызывается,
оно может иметь связанное значение, также известное как аргумент исключения».
«Exception.args - Кортеж аргументов, переданных конструктору исключения».
В нашем случае:
1. MyExc('spam') создает экземпляр исключения с аргументом 'spam'
2. X.args содержит кортеж всех аргументов конструктора
3. Поэтому X.args = ('spam',) - кортеж с одним элементом
👍1👎1
Пишешь на Go? Колонизаторам Марса нужна твоя помощь
Да, ты не ослышался. Вместе с «МойОфис» сделали игру, в которой нужно спасти марсианских колонизаторов от песчаной бури. И сделать это могут только гоферы.
Реши задачи по Go и помоги героям! Первые 10 игроков с максимальным результатом за минимальное время получат классные призы от «МойОфис».
A gopher odyssey ждёт тебя: https://tprg.ru/6so1
Реклама
Да, ты не ослышался. Вместе с «МойОфис» сделали игру, в которой нужно спасти марсианских колонизаторов от песчаной бури. И сделать это могут только гоферы.
Реши задачи по Go и помоги героям! Первые 10 игроков с максимальным результатом за минимальное время получат классные призы от «МойОфис».
A gopher odyssey ждёт тебя: https://tprg.ru/6so1
Реклама
👍1🤮1
🪤 Что выведет код?
Anonymous Quiz
39%
ZeroDivisionError: division by zero
13%
division by zero
34%
ZeroDivisionError
14%
saveit is not defined
👍3👎2
«...после выхода из блока except эта переменная [X] удаляется. Так происходит оттого, что в противном случае она сохранила бы ссылку на стек вызовов времени выполнения, которая отложила бы сборку мусора, оставив выделенным избыточное пространство памяти. Однако удаление переменной происходит, даже если вы используете имя где-то в другом месте, и является более крайней политикой, чем применяемая для включений.»
«Вы обычно должны использовать в конструкциях except оператора try уникальные имена переменных, хотя они и локализуются внутри областей видимости. Если вам необходимо ссылаться на экземпляр исключения после оператора try, тогда просто присвойте его еще одному имени (saveit), которое не будет автоматически удаляться»:
try:
1/0
except Exception as X: # Python удаляет эту ссылку
saveit = X # Присвоить экземпляр исключения для его сохранения
print(saveit) # division by zero
❤1
Сделали для вас квест в футуристичном городе инженеров
Во время маленького приключения вы разберетесь как устроен YADROpolis, блеснёте своими сильными сторонами и узнаете своё ПРЕДНАЗНАЧЕНИЕ* на ближайшие несколько лет: https://tprg.ru/F7Hs
*аkа магистерская программа в одном из топовых технических ВУЗов страны.
Во время маленького приключения вы разберетесь как устроен YADROpolis, блеснёте своими сильными сторонами и узнаете своё ПРЕДНАЗНАЧЕНИЕ* на ближайшие несколько лет: https://tprg.ru/F7Hs
«Исключения иногда могут генерироваться в ответ на другие исключения — как преднамеренно, так и по причине новых ошибок в программе. Для поддержки полноценного обнаружения в таких случаях операторам raise также разрешено иметь дополнительную конструкцию from:
raise новое-исключение from другое-исключение
Когда конструкция from используется в явном запросе raise, следующее за from выражение указывает еще один класс или экземпляр для присоединения к атрибуту __cause__ нового генерируемого исключения. Если сгенерированное исключение не перехвачено, тогда интерпретатор Python выводит оба исключения как часть стандартного сообщения об ошибке».
В нашем случае:
Поймано: RuntimeError
Причина: ValueError