🧊 Заморозить словарь: types.MappingProxyType
Иногда нужно передать неизменяемый словарь, чтобы никто не мог случайно его изменить. Для этого есть
MappingProxyType из модуля types.
Сам original можно изменять, а frozen — нет.
🎯 Итог
MappingProxyType — способ создать защищённый от изменений "словарь-обёртку", полезный в API и конфигурациях.
Иногда нужно передать неизменяемый словарь, чтобы никто не мог случайно его изменить. Для этого есть
MappingProxyType из модуля types.
Сам original можно изменять, а frozen — нет.
🎯 Итог
MappingProxyType — способ создать защищённый от изменений "словарь-обёртку", полезный в API и конфигурациях.
🧑💻 За последние 10 лет число вакансий в Data Science выросло в 30 раз, а медианная зарплата находится на уровне 200 000 рублей в месяц
Многие специалисты смежных профессий задумываются о смене профиля, задаются вопросами, подходит ли им эта сфера и с чего начать.
Небольшой тест от методологов магистерской программы МФТИ «Науки о данных» поможет понять, какую специализацию выбрать и как построить карьерный переход.
Первый шаг — перейти по ссылке!
Многие специалисты смежных профессий задумываются о смене профиля, задаются вопросами, подходит ли им эта сфера и с чего начать.
Небольшой тест от методологов магистерской программы МФТИ «Науки о данных» поможет понять, какую специализацию выбрать и как построить карьерный переход.
Первый шаг — перейти по ссылке!
🧹 Удаление всех символов, кроме цифр: re.sub()
Когда нужно оставить только цифры в строке (например, при обработке номеров телефонов, ID и т.п.), re.sub() делает это элегантно.
🎯 Итог
re.sub(r"\D", "", text) — быстрый способ избавиться от всего, кроме цифр, в строке. Отлично работает с номерами телефонов и ID.
Когда нужно оставить только цифры в строке (например, при обработке номеров телефонов, ID и т.п.), re.sub() делает это элегантно.
🎯 Итог
re.sub(r"\D", "", text) — быстрый способ избавиться от всего, кроме цифр, в строке. Отлично работает с номерами телефонов и ID.
🧵 Параллельная обработка с concurrent.futures.ThreadPoolExecutor
Если у вас есть список задач, которые можно выполнять параллельно (например, HTTP-запросы или операции ввода-вывода), можно использовать ThreadPoolExecutor вместо обычного цикла.
🎯 Итог
ThreadPoolExecutor — простой способ параллельно обрабатывать независимые задачи, особенно эффективен для I/O-операций.
Если у вас есть список задач, которые можно выполнять параллельно (например, HTTP-запросы или операции ввода-вывода), можно использовать ThreadPoolExecutor вместо обычного цикла.
🎯 Итог
ThreadPoolExecutor — простой способ параллельно обрабатывать независимые задачи, особенно эффективен для I/O-операций.
🧠 Как элегантно "переключать" поведение с помощью словаря функций
Иногда вместо длинных цепочек if или match можно использовать словарь с функциями — это чисто, читаемо и легко расширяемо.
🎯 Итог
Словарь функций — удобный способ заменить условные конструкции, особенно когда логика разветвляется по строковым ключам (например, названиям команд или операций).
Иногда вместо длинных цепочек if или match можно использовать словарь с функциями — это чисто, читаемо и легко расширяемо.
🎯 Итог
Словарь функций — удобный способ заменить условные конструкции, особенно когда логика разветвляется по строковым ключам (например, названиям команд или операций).
Просто почитайте что пишет Саша Моловицын. Кто не знает, это топовый коммерс, который шарит за ритейл, маркетплейсы и е-ком. Его каналу много лет — это один из самых авторитетных блогов по маркетплейсам в Телеграм.
Он нескучно рассказывает про свой опыт работы, разбирает успешные и неудачные ходы марктеплейсов, стебется над клиентами. Также внутри: зачем маркетплейсы запускают свои банки, как реально работает поисковая выдача товаров и почему обязательно надо открывать ПВЗ в 2025 году.
Обычно тематические каналы однотипные и пустые, но Саша классный и бодро пишет. Подписывайтесь на него: https://t.me/+cp392ES5rWBmZWEy
Он нескучно рассказывает про свой опыт работы, разбирает успешные и неудачные ходы марктеплейсов, стебется над клиентами. Также внутри: зачем маркетплейсы запускают свои банки, как реально работает поисковая выдача товаров и почему обязательно надо открывать ПВЗ в 2025 году.
Обычно тематические каналы однотипные и пустые, но Саша классный и бодро пишет. Подписывайтесь на него: https://t.me/+cp392ES5rWBmZWEy
🧠 Как элегантно "переключать" поведение с помощью словаря функций
Иногда вместо длинных цепочек if или match можно использовать словарь с функциями — это чисто, читаемо и легко расширяемо.
🎯 Итог
Словарь функций — удобный способ заменить условные конструкции, особенно когда логика разветвляется по строковым ключам (например, названиям команд или операций).
Иногда вместо длинных цепочек if или match можно использовать словарь с функциями — это чисто, читаемо и легко расширяемо.
🎯 Итог
Словарь функций — удобный способ заменить условные конструкции, особенно когда логика разветвляется по строковым ключам (например, названиям команд или операций).
🧪 🐍 Проверка аргументов функции без лишнего кода с functools.singledispatch
Когда нужно писать разные реализации одной функции в зависимости от типа аргумента, не спеши писать if isinstance(...) — есть элегантнее способ!
🎯 Итог
singledispatch — способ реализовать полиморфизм для функций: избавляет от длинных ветвлений по типам, упрощает поддержку и расширение кода.
Когда нужно писать разные реализации одной функции в зависимости от типа аргумента, не спеши писать if isinstance(...) — есть элегантнее способ!
🎯 Итог
singledispatch — способ реализовать полиморфизм для функций: избавляет от длинных ветвлений по типам, упрощает поддержку и расширение кода.
🔄 🐍 Ленивая загрузка больших файлов с fileinput
Если ты обрабатываешь большие текстовые файлы построчно и не хочешь грузить всё в память — стандартный модуль fileinput тебе поможет!
Ты можешь указать один или несколько файлов, а fileinput сам построчно и лениво их прочитает. Это работает даже с stdin, если файлы не указаны.
🎯 Итог
fileinput — мощный инструмент для работы с текстовыми файлами: он лаконичен, поддерживает несколько источников и обрабатывает строки по очереди, не засоряя память.
Если ты обрабатываешь большие текстовые файлы построчно и не хочешь грузить всё в память — стандартный модуль fileinput тебе поможет!
Ты можешь указать один или несколько файлов, а fileinput сам построчно и лениво их прочитает. Это работает даже с stdin, если файлы не указаны.
🎯 Итог
fileinput — мощный инструмент для работы с текстовыми файлами: он лаконичен, поддерживает несколько источников и обрабатывает строки по очереди, не засоряя память.
Получаем все строки как словари
При работе с SQLite результат запроса по умолчанию возвращается в виде кортежей. Это не очень удобно, особенно если нужно обращаться к значениям по названиям колонок. Можно включить специальный режим, чтобы строки возвращались как словари.
🎯 Итог
Используй row_factory = dict_factory, чтобы получать строки из БД как словари. Это упростит доступ к данным и сделает код более читаемым.
При работе с SQLite результат запроса по умолчанию возвращается в виде кортежей. Это не очень удобно, особенно если нужно обращаться к значениям по названиям колонок. Можно включить специальный режим, чтобы строки возвращались как словари.
🎯 Итог
Используй row_factory = dict_factory, чтобы получать строки из БД как словари. Это упростит доступ к данным и сделает код более читаемым.
📌 🔄 Слияние словарей через оператор |
В Python 3.9+ можно объединять словари так же просто, как множества, с помощью оператора |. Это делает код чище и понятнее, особенно при объединении конфигураций или данных.
🎯 Итог
Оператор | — это быстрый и читаемый способ объединять словари, при этом значения из правого словаря имеют приоритет.
В Python 3.9+ можно объединять словари так же просто, как множества, с помощью оператора |. Это делает код чище и понятнее, особенно при объединении конфигураций или данных.
🎯 Итог
Оператор | — это быстрый и читаемый способ объединять словари, при этом значения из правого словаря имеют приоритет.
Sony официально ушли из России: компания закрыла последнее юрлицо в стране.
С 2023 года Sony пытались ликвидировать ООО «Сони Мобайл Коммюникейшнз Рус», но удалось сделать это только сейчас.
Ушла эпоха.
С 2023 года Sony пытались ликвидировать ООО «Сони Мобайл Коммюникейшнз Рус», но удалось сделать это только сейчас.
Ушла эпоха.
Инсайдеры слили ВСЮ линейку свежих iPhone 17 — в сеть утекли цены и характеристики будущих новинок Apple.
Цены за базовую версию стартуют от $799, на iPhone 17 Air — от $950, а самый доступный Pro начинается от $1050.
Подтвердить инфу можно будет уже через месяц — когда пройдёт презентация Apple.
Цены за базовую версию стартуют от $799, на iPhone 17 Air — от $950, а самый доступный Pro начинается от $1050.
Подтвердить инфу можно будет уже через месяц — когда пройдёт презентация Apple.
Роскомнадзор официально ПОДТВЕРДИЛ ограничение звонков через Telegram и WhatsApp*.
По словам ведомства, эти мессенджеры стали основными площадками обмана, вымогательства и даже вовлечения в диверсии и теракты.
При этом переписка, пересылка файлов и чтение каналов останутся так же доступны.
*принадлежит Meta, признанной экстремистской и запрещённой в РФ.
По словам ведомства, эти мессенджеры стали основными площадками обмана, вымогательства и даже вовлечения в диверсии и теракты.
При этом переписка, пересылка файлов и чтение каналов останутся так же доступны.
*принадлежит Meta, признанной экстремистской и запрещённой в РФ.
Однажды в трендах
Роскомнадзор официально ПОДТВЕРДИЛ ограничение звонков через Telegram и WhatsApp*. По словам ведомства, эти мессенджеры стали основными площадками обмана, вымогательства и даже вовлечения в диверсии и теракты. При этом переписка, пересылка файлов и чтение…
Обстановка после блокировки звонков в мессенджерах: