Бизнес блог #1
Выжимаю книги до самой сути.
👉 Реклама - @jaMasha
📇 Хотите свою книгу? Мы напишем её за вас и сделаем книгу бестселлером. Подробности в боте @Summary_library_bot
🏆 Оставьте след в истории с помощью книги
https://expert-book.pro
Фильмы и сериалы со всей планеты. Мы знаем, что посмотреть, где посмотреть и на что сходить в кино.
Last updated 5 days, 13 hours ago
Все материалы размещены по партнёрской програме ivi.ru | All materials are posted on the partner program ivi.ru
По всем вопросам: @kuzr103
Купить рекламу: https://telega.in/c/k1noxa103
Основной канал: https://t.me/kino_hd2
Last updated 1 month, 2 weeks ago
Если вы хотите игнорировать какое-то исключение, вы, вероятно, сделаете что-то вроде этого:
```
try:
lst = [1, 2, 3, 4, 5]
print(lst[10])
except IndexError:
pass
```
Это будет работать (ничего не выводя), но contextlib
позволяет сделать то же самое более выразительно и семантически правильно:
```
from contextlib import suppress
with suppress(IndexError):
lst = [1, 2, 3, 4, 5]
lst[10]
```
Когда вы пишете декоратор в Python, почти всегда стоит использовать @functools.wraps
.
```
def atomic(func):
@functools.wraps(func)
def wrapper():
print('BEGIN')
func()
print('COMMIT')
return wrapper
```
Он обновляет обёртку wrapper
, чтобы она выглядела как оригинальная функция func
. Декоратор копирует атрибуты __name__
, __module__
и __doc__
из функции func
в её обёртку.
Это может быть полезно при генерации документации с помощью pydoc
, написании тестов с doctest
, или при использовании инструментов для интроспекции. Однако стоит помнить, что в трассировке стека всё ещё будет отображаться оригинальное имя функции, поскольку оно хранится в wrapper.__code__.co_name
.
Срез списка по умолчанию в Python создаёт копию. Это может быть нежелательно, если срез слишком велик, требуется, чтобы изменения отражались в оригинале, или нужно изменять срез, влияя на исходный объект. Для обхода проблемы копирования данных можно использовать itertools.islice
, который позволяет итерироваться по части списка без поддержки индексации или модификации.
Для создания изменяемого среза можно реализовать собственный класс, используя collections.abc.MutableSequence
, переопределив методы __getitem__
, __setitem__
, __delitem__
, __len__
и insert
.
Устроиться аналитиком в Яндекс за выходные7–8 декабря проводим Weekend Offer Analytics. До 4 декабря оставьте заявку на участие, 7 декабря пройдите технические собеседования, а 8 декабря познакомьтесь с командами и получите офер.
В мероприятии участвует 7 команд: Crowd, Карты, Поиск, YaGPT 2, Автономный транспорт, Реклама и Ecom-сценарии. Вы сможете пообщаться с менеджерами и выбрать проект, который покажется самым интересным.
Нанимаем в офисы России и Республики Беларусь.
Узнать подробности и зарегистрироваться можно здесь.
Бизнес блог #1
Выжимаю книги до самой сути.
👉 Реклама - @jaMasha
📇 Хотите свою книгу? Мы напишем её за вас и сделаем книгу бестселлером. Подробности в боте @Summary_library_bot
🏆 Оставьте след в истории с помощью книги
https://expert-book.pro
Фильмы и сериалы со всей планеты. Мы знаем, что посмотреть, где посмотреть и на что сходить в кино.
Last updated 5 days, 13 hours ago
Все материалы размещены по партнёрской програме ivi.ru | All materials are posted on the partner program ivi.ru
По всем вопросам: @kuzr103
Купить рекламу: https://telega.in/c/k1noxa103
Основной канал: https://t.me/kino_hd2
Last updated 1 month, 2 weeks ago