№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
CherryPy
CherryPy — это легковесный объектно-ориентированный веб-фреймворк на Python, предназначенный для быстрой разработки веб-приложений. Он отличается простотой и элегантностью подхода, позволяя создавать мощные и гибкие веб-сайты.
#для_продвинутых
Библиотека ELI5
ELI5 (расшифровывается как "Explain like I'm 5") – это библиотека Python, предназначенная для отладки и объяснения предсказаний классификаторов машинного обучения. Она работает с популярными библиотеками машинного обучения, такими как scikit-learn, XGBoost, Keras.
#для_начинающих
Метод dict.values()
Метод dict.values() в Python используется для получения всех значений (values) в словаре (dictionary). Этот метод возвращает представление (view) значений в словаре в виде объекта типа dict_values
.
Этот метод полезен, когда вы хотите получить доступ к значениям словаря, но не обязательно к ключам. Вы можете использовать dict.values()
в циклах или для выполнения операций на значениях словаря, например, суммирования всех значений или поиска определенного значения.
#для_начинающих
Методы .removeprefix() и .removesuffix()
Методы .removeprefix()
и .removesuffix()
были введены в Python 3.9. Они предназначены для удаления указанного префикса или суффикса из строки. Эти методы предоставляют удобный способ обрезания строк, особенно если вы знаете, что определенная строка всегда начинается с определенного префикса или заканчивается определенным суффиксом. Это позволяет избежать необходимости использования сложных срезов строк и делает код более читаемым.
#для_начинающих
Малоизвестные библиотеки Python для анализа данных, которые сделают вашу жизнь проще
В этой статье мы рассмотрим некоторые полезные библиотеки Python для задач обработки данных, с которыми, возможно, вы еще не знакомы.
Смотреть статью
Как найти подстроку?
Для поиска подстроки в Python с использованием оператора in, вам нужно просто использовать оператор in
в условном операторе (обычно внутри if
). Вот подробное объяснение шаг за шагом:
1. Создайте переменную, в которой будете искать подстроку (назовем ее main_string
).
2. Создайте переменную, содержащую подстроку, которую вы хотите найти (назовем ее sub_string
).
3.Используйте оператор in для проверки наличия sub_string
в main_string
внутри условного оператора if
. Если sub_string
найдена в main_string
, то условие if
будет выполняться, иначе оно не будет выполняться.
Оператор in
проверяет наличие подстроки внутри строки и не возвращает индекс, а просто булево значение True
или False
, которое показывает, найдена ли подстрока или нет.
#для_начинающих
Весь опыт Data Science – в одном месте. Data Fusion в четвертый раз соберет DS-экспертов для диалога на кросс-индустриальной площадке. Конференция пройдет 17-18 апреля в Москве. Регистрация уже открыта: https://tglink.io/bc4c49f3a787
Data Fusion 2024 – главное событие весны в области анализа больших данных и технологий ИИ. Исследованиям и практике посвящен первый день конференции.
– Известные ученые и эксперты по Data Science расскажут о трендах в различных направлениях машинного обучения и технологиях ИИ.
– Желающие еще глубже погрузиться в сферу искусственного интеллекта смогут посетить трек ML+, посвященный использованию машинного обучения на стыке с физикой, медициной и фармакологией и другими науками.
Второй день мероприятия будет посвящены бизнесу и стратегии.
В этом году конференция Data Fusion пройдет в московском технологическом кластере «Ломоносов». Регистрация здесь: https://tglink.io/bc4c49f3a787
Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.
Ближайшее Fast Track мероприятия:
• 13–14 апреля — Fast Track для дата-аналитиков со знанием SQL и Python, офер за 2 дня в команду Фудтеха.
Зарегистрироваться
Сможете разгадать тайны Гиперкуба?
Проявите смекалку и примените ИТ-скиллы на Tinkoff CTF — соревновании по спортивному хакингу. Победителям — призы до 420 000 ₽. Вот как все устроено:
— Выберите лигу: опытных или новых игроков. Задания рассчитаны на ИТ-специалистов уровня мидл и выше. Если играете впервые, можете потренироваться с демоверсией заданий.
— Соревнуйтесь в одиночку или командой до трех человек. Организаторы помогут найти команду, если нет своей.
— Играйте онлайн или офлайн — в одном из 16 городов России, Беларуси и Казахстана.
— Используйте время на решение заданий или общение с участниками — у вас будет 36 часов.
Задания будут интересны разработчикам, QA- и SRE-инженерам, аналитикам и другим опытным ИТ-специалистам.
Зарегистрируйтесь до 19 апреля и пробуйте свои силы
erid:2Vtzqw5bNFx
Реклама. АО "Тинькофф Банк", ИНН 7710140679, лицензия ЦБ РФ № 2673
16-, 8- и 4-битные форматы чисел с плавающей запятой
Очень подробная и интересная статья.
Смотреть статью
#вопросы_с_собеседований
Напишите функцию на Python, которая принимает на вход строку из слов, разделенных пробелами, и возвращает новую строку, в которой каждое слово написано задом наперед. Например, для входной строки "Hello World" функция должна вернуть "olleH dlroW".
Решение:
В начале кода мы используем метод split()
, чтобы разбить входную строку на список слов. Это делается по пробелам, предполагая, что слова разделены пробелами. Затем мы используем генератор списка (list comprehension), чтобы перевернуть каждое слово в списке. word[::-1]
— это способ перевернуть строку с помощью среза. Далее мы используем метод join()
, чтобы объединить перевернутые слова обратно в строку, разделяя их пробелами и, наконец, возвращаем полученную строку.
Модуль threading
Модуль threading
в Python позволяет создавать и управлять потоками выполнения, что даёт возможность программам эффективно обрабатывать задачи параллельно. Потоки позволяют выполнять несколько частей программы одновременно, что может улучшить отзывчивость и производительность.
#для_начинающих
❓Как разработчику повысить свой уровень программирования?
Начните с бесплатного практического урока «Создание словаря, 1-3 способ» от OTUS, где вы вместе с опытным экспертом:
- реализуете популярную структуру данных «ассоциативный массив» для хранения пар (ключ, значение);
- рассмотрите три способа решения этой задачи и сравните их эффективность;
- реализуете способы односвязного списка, динамического массива и отсортированного массива методом вставки.
Занятие пройдёт 1 апреля в 20:00 мск в рамках курса «Алгоритмы и структуры данных». Доступна рассрочка на обучение!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/DBXtY/?erid=LjN8KUatK
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Возврат нескольких значений из функции
Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать. Ознакомьтесь с приведенным выше примером кода.
Распечатывание ежемесячного календаря
А этот лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
Asyncore
Asyncore — это модуль в Python, который позволяет создавать асинхронные сетевые приложения. Он был частью стандартной библиотеки Python с версии 2.0 до версии 3.11, но с версии 3.6 он помечен как устаревший и будет удален в версии 3.12.
Asyncore работает, используя дескрипторы событий. Дескриптор события - это объект, который представляет собой сокет или другой объект, который может генерировать события. Asyncore отслеживает дескрипторы событий и вызывает их методы обратного вызова, когда происходят события.
#для_начинающих
img2pdf
img2pdf — это библиотека Python, которая позволяет создавать файлы PDF из изображений. Для использования img2pdf вам нужно установить библиотеку (если она не установлена) и затем использовать ее для создания PDF-файлов из изображений.
Замените image1.jpg, image2.png, и image3.jpeg из примера на имена файлов с вашими изображениями, которые вы хотите объединить в PDF. Затем запустите этот скрипт, и он создаст файл output.pdf, содержащий ваши изображения в виде страниц PDF.
Убедитесь, что у вас установлены все необходимые библиотеки и что изображения находятся в том же каталоге, где находится ваш Python-скрипт, или укажите полные пути к изображениям в переменной image_files.
#для_начинающих
🚀 Едадил приглашает Python-разработчиков на борт!
Едадил – сервис Яндекса, где собраны скидки, спецпредложения и кэшбеки. Мы помогаем людям совершать выгодные покупки!
Мы в поиске талантливых Python-разработчиков, специализирующихся на асинхронном программировании и с опытом коммерческой разработки более 3 лет.
Если вы мастер своего дела и готовы к новым вызовам, присоединяйтесь к нашей команде!
Ищем специалистов из разных уголков России!
Что вас ждет?
● Работа в классном офисе в гибридном формате
● Конкурентоспособная заработная плата, соцпакет и возможности для профессионального роста.
● Работа в команде единомышленников над проектами, влияющими на жизнь миллионов пользователей.
Выбирайте подходящую вакансию:
– Asyncio Python-разработчик
– Python-разработчик с опытом в PostgreSQL, noSQL, Docker и Git
– Python-разработчик с навыками в Python 3.10, aiohttp, YQL, YTsaurus, Docker
Реклама ООО "Яндекс"
ИНН 7736207543
Приглашаем в Гостиную к Алисе!
«Гостиная Алисы. Не один дома» — это митап от команды Яндекса для middle+ бэкендеров: доклады о том, как устроена Алиса, Умные устройства, Беспилотные технологии и нетворкинг в неформальной обстановка
🔸 Павел Капля, руководитель продуктовой разработки Алисы. Расскажет, как запускали Новые возможности — и что пришлось изменить в нашем помощнике, чтобы заставить её думать по новому
🔸 Марат Мавлютов, руководитель службы разработки роботов-доставщиков. Объяснит, как наши роботы-доставщики видят мир вокруг себя, строят маршрут, ориентируются в толпе и проезжают светофоры
18 апреля, 19:00
Москва
Зарегистрироваться можно здесь.
Реклама ООО "Яндекс"
ИНН 7736207543
🤖 API и SDK от 2ГИС: технологии для вашего бизнеса
Ищете способы улучшить свой сервис, приложение или сайт? 2ГИС предлагает API и SDK — готовые решения для интеграции геоданных в ваш продукт.
💼 Что вы получаете:
- API карт: Детальная карта с редактором стилей — от подключения виджета с филиалами до геоинформационного сервиса.
- API справочника: Поиск по названию, виду деятельности, адресу и координатам. Доступ к подробной информации о миллионах организаций. А ещё преобразование координат в адрес и обратно, получение данных о парковках, остановках.
- API навигации: Инструменты для такси, курьеров, транспортных и логистических компаний. Маршруты для разных видов транспорта мимо пробок, шлагбаумов, перекрытий, платных и грунтовых дорог. Информация о расстоянии и времени в пути между точками на карте.
- Mobile SDK: 3D-карты, поиск и маршрутизация для приложений на iOS и Android — с тонкими настройками стилей и маркеров, построением маршрутов и доступом к справочнику.
⭐ Почему стоит выбрать 2ГИС:
- Регулярные обновления данных о дорогах, организациях и пробках.
- Точность: Информация обрабатывается с помощью ИИ и выверяется с помощью пеших картографов и контакт-центра.
- Поддержка: Сопровождение клиентов на всех этапах работы, личный кабинет, подробная документация и примеры кода.
- Привлекательные условия: Гибкая настройка по техническим требованиям и тестовый период.
Попробуйте!
functools.wrapsfunctools.wraps
— это декоратор (decorator), предоставляемый в стандартной библиотеке Python в модуле functools
. Он используется для оборачивания (wrapping) функций или методов, чтобы сохранить метаданные и атрибуты оригинальной функции, когда она передается другой функции в качестве аргумента или используется внутри другой функции.wraps
обычно используется в качестве декоратора внутри пользовательских декораторов. Без использования functools.wraps
, имя функции и её документацию было бы изменено на имя обернутой функции (wrapper
), и документацию из оригинальной функции можно было бы потерять.
#для_начинающих
Подгенераторы
Подгенератор (subgenerator) — это функция-генератор, которая используется внутри другой функции-генератора. Он предоставляет часть логики или последовательность значений, которые могут быть использованы внутри более общего генератора. Подгенераторы полезны для организации кода и управления сложной логикой генераторов, разделяя ее на более мелкие, независимые части.
#для_продвинутых
Метод count()
Метод count()
в Python используется для подсчета количества вхождений заданного элемента (значения) в списке, кортеже или строке. Вот синтаксис этого метода:
count(element)где
element
— это значение, которое вы хотите подсчитать в последовательности (списке, кортеже или строке).Factory Boy
Factory Boy — это библиотека для тестирования в Python, которая предназначена для упрощения создания тестовых данных, таких как объекты базы данных.
Она позволяет создавать фабрики для объектов вашей модели, чтобы упростить процесс создания тестовых данных. Вы можете определить фабрику с атрибутами и значениями по умолчанию, которые будут использоваться при создании экземпляров модели. Затем вы можете использовать эти фабрики в ваших тестах, чтобы быстро и удобно создавать объекты для проверки функциональности вашего приложения.
#для_продвинутых
Академия CyberYozh откроет часть своих курсов бесплатно
✅Материал стоящий, без воды. Рекомендую присмотреться к их курсам по автоматизации с помощью Python и Selenium:
Автоматизация веб действий — вы научитесь работать с мультиаккаунтингом, авторегистрацией и прогревом аккаунтов, парсингом любого веб-контента, накруткой, автоматизацией покупок и заказов, автоматическими ставками. Тематика не простая, но спрос на таких специалистов огромный.
Автоматизация BlockChain — в рамках курса вы изучите автоматизацию BlockChain-проектов и начнете применять знания для сбора ретродропов. Люди делают состояния на этом, нужен лишь азарт, желание писать код и удача. Лучше хобби для питониста не придумать.
⏰ Всего откроют доступ к 8 курсам, но обещают, что доступ превратится в тыкву 14 апреля, лучше поторопиться.
Функция dropwhile
Функция dropwhile
из модуля itertools
в Python используется для отбрасывания элементов итератора, пока заданный предикат не вернет False
.
#для_начинающих
Упорядоченные словари
В структуре данных словаря Python по умолчанию нет порядка индексации. Вы можете думать о парах "ключ-значение" как о смешанных элементах в сумке. Это делает работу со словарями очень эффективной. Однако иногда вам просто нужно упорядочить словарь.
Не беспокойтесь, в библиотеке коллекций Python есть модуль с именем OrderedDict, который делает именно это.
Расчет времени выполнения
Этот простейший “трюк” поможет рассчитать время, необходимое для выполнения программы. Используя time-модуль, вы можете точно узнать, сколько времени требуется программе для выполнения кода.
Постройте свою модель для прогнозирования цен на недвижимость, открыв двери в мир машинного обучения вместе с нами!
👉 Отус приглашает 2 апреля в 20:00 мск на бесплатный практический вебинар «Линейная регрессия — ваша первая модель»
Вебинар является частью полноценного онлайн-курса «Специализация Machine Learning»
➡️ Регистрация на вебинар: https://otus.pw/VsXW/?erid=LjN8KWtWw
Спикером выступит: Игорь Стурейко — (к.ф.-м.н.) Teamlead, Data Scientist
В результате вебинара вы:
✅ познакомитесь с популярным алгоритмом машинного обучения — линейной регрессией;
✅ узнаете, как устроены алгоритм линейной регрессии и метод наименьших квадратов;
✅ освоите принципы решения задачи регрессии;
✅ построите свою первую модель предсказания цены на недвижимость.
Записывайтесь сейчас, а мы потом напомним. Участие бесплатно.
Распаковывание последовательностей при неизвестном числе элементов
Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции.