🪤 Что выведет код?
Anonymous Quiz
21%
x должно быть меньше y
16%
Условие выполнено
60%
AssertionError: x должно быть меньше y
4%
Пустой ответ
👍1👎1
«Оператор assert — простой способ вставить отладочные утверждения в программу». Он является простым утверждением, которое проверяет истинность выражения.
Когда условие в assert истинно, программа продолжает выполнение без каких-либо изменений.
Если же условие ложно, assert вызывает исключение AssertionError, что приводит к немедленному завершению программы.
assert может принимать необязательное сообщение об ошибке, которое будет выведено при срабатывании исключения.
В нашем случае assert x < y, "x должно быть меньше y" проверяет, что переменная x действительно меньше y.
Поскольку 15 < 10 является ложным утверждением, assert вызывает исключение и останавливает дальнейшую интерпретацию кода.
x = 15
y = 10
assert x < y, "x должно быть меньше y" # AssertionError: x должно быть меньше y
print("Условие выполнено") # Не отработает вообще
Важно понимать, что `assert` предназначен для отладки и проверки инвариантов программы, а не для обработки ошибок времени выполнения.
❤1👍1👎1
Хотите выйти за рамки базового Python и перейти к профессиональной разработке?
Пора сделать следующий шаг - онлайн-курс «Python Developer. Professional».
Старт обучения - 29 сентября.
Это программа для тех, кто уже уверенно работает с Python и готов углубляться в промышленную разработку, лучшие практики и архитектуру современных приложений.
Вы научитесь:
— Писать надёжный, быстрый и безопасный код
— Проектировать архитектуру приложений и профилировать производительность
— Работать с современными фреймворками и библиотеками
— Понимать устройство чужого и собственного ПО, обеспечивать его поддержку и развитие
— Применять Python в реальных задачах - от backend-а до data-driven решений
Этот курс — шаг в настоящую инженерию на Python. По итогам вы не просто прокачаете скиллы, а сможете уверенно работать на middle+ / senior-уровне.
Успейте записаться до старта 29 сентября!
Пройдите вступительное тестирование и займите место в группе
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Пора сделать следующий шаг - онлайн-курс «Python Developer. Professional».
Старт обучения - 29 сентября.
Это программа для тех, кто уже уверенно работает с Python и готов углубляться в промышленную разработку, лучшие практики и архитектуру современных приложений.
Вы научитесь:
— Писать надёжный, быстрый и безопасный код
— Проектировать архитектуру приложений и профилировать производительность
— Работать с современными фреймворками и библиотеками
— Понимать устройство чужого и собственного ПО, обеспечивать его поддержку и развитие
— Применять Python в реальных задачах - от backend-а до data-driven решений
Этот курс — шаг в настоящую инженерию на Python. По итогам вы не просто прокачаете скиллы, а сможете уверенно работать на middle+ / senior-уровне.
Успейте записаться до старта 29 сентября!
Пройдите вступительное тестирование и займите место в группе
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤2👍1👎1
Какие типы задач вы решаете?
Anonymous Poll
38%
Как на LeetCode («Напишите функцию…»)
36%
Как здесь: вопросы с вариантами ответов
45%
Сейчас не решаю
6%
Другое
👍1👎1
👍1👎1
В данном коде присутствуют два активных оператора try — один в функции action1 и один на верхнем уровне модуля.
Функция action2() генерирует исключение TypeError при попытке сложить число 1 и пустой список [], поскольку складывать числа и последовательности нельзя.
«Когда action2 сгенерирует исключение `TypeError`, интерпретатор Python выберет и выполнит самый недавний try с совпадающей конструкцией except, которым в данном случае будет `try` внутри функции action1()».
Поэтому исключение `TypeError` будет перехвачено внутренним обработчиком except TypeError: print('inner try'), и на экран выведется 'inner try'.
Внешний `try` блок не выполнится, так как исключение уже было обработано на более глубоком уровне вложенности.
👍1👎1
🪤 Что выведет код?
Anonymous Quiz
72%
Выведется "Bye" и создастся badly.exc
10%
Выведется "Bye"
11%
Ничего не выведется, файлов не будет создано
6%
Error
👍1👎1
«В коде используется удобная функция print_exc из модуля traceback, которая по умолчанию потребляет данные sys.exc_info; после запуска сценарий выводит сообщение об ошибке в файл, что удобно в тестовых программах, которым необходимо перехватывать ошибки, но вдобавок полноценно их регистрировать».
В блоке обработки исключения вызывается traceback.print_exc(file=open('badly.exc','w')), который:
После успешной обработки исключения выполнение продолжается, и выводится "Bye". Таким образом, код не завершается с ошибкой, а успешно обрабатывает исключение и создает файл с информацией об ошибке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1👎1
🧩 Какой способ проверки вхождения "Las Vegas" верный?
Anonymous Quiz
12%
cities.str.contains("Las Vegas", na=False).any()
23%
"Las Vegas" in cities.values
12%
cities.isin(["Las Vegas"]).any()
53%
Все варианты верны
👍1👎1
Выполняет поэлементный поиск подстроки (regex или литерал) внутри строк.
В Pandas Series.values возвращает numpy.ndarray. Выполняет проверку наличия точного значения в массиве NumPy.
Проверяет для каждого элемента Series, содержится ли он в списке значений. Возвращает True, если хотя бы один элемент Series строго равен "Las Vegas".
👍1👎1