seniorpy | Unsorted

Telegram-канал seniorpy - Senior Python Developer

44765

Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy

Subscribe to a channel

Senior Python Developer

Достаем карты из колоды

В данном примере мы задействуем колоду из 52 карт.

С помощью данного кода мы достаем случайным образом 4 карты из нашей колоды.

Читать полностью…

Senior Python Developer

Как преобразовать цветное изображение в черно-белое

Иногда может потребоваться преобразовать изображение в двоичное. Другими словами, вам нужно преобразовать цветное изображение или изображение в оттенках серого в черно-белое изображение.

В следующем примере мы прочитаем следующее цветное изображение, используя cv2.imread() в качестве изображения в градациях серого, а затем применим функцию к массиву изображений.

Подробнее ознакомиться можно здесь.

Читать полностью…

Senior Python Developer

Делаем скриншот в две строки

На картинке код, который делает скриншот и сохраняет его. Он будет сохранен в той же директории, откуда запущена программа. Помогает нам в работе замечательный пакет PyAutoGUI.

Читать полностью…

Senior Python Developer

benedict

Если вы столкнулись с трудностями при работе со словарями в Python, то benedict может стать тем решением, которое вы искали.

benedict наследуется от встроенного типа dict, что означает, что он полностью совместим с существующими словарями и может быть использован в качестве замены в большинстве случаев.

Одной из ключевых особенностей benedict является поддержка keylists и keypaths. Это упрощает доступ к значениям в сложных словарях и работу с ними без необходимости вручную копаться во вложенных уровнях.

Читать полностью…

Senior Python Developer

Тестовое собеседование на Middle Python-разработчика в четверг

14 ноября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.

Как это будет:
1. Савва Демиденко, ex. TechLead в Яндексе, Авито и другом русском бигтехе будет задавать реальные вопросы и задачи разработчику-добровольцу
2. Савва будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
3. В конце можно будет задать любой вопрос Савве

Что узнаешь на прямом эфире от ШОРТКАТ:
• Чего ждут от кандидатов на Middle позиции в Python-разработке
• Какие вопросы задают на интервью и зачем
• Как подготовиться к собесу, чтобы получить оффер

Это бесплатно? Бесплатно

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_python_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxNaGSZ

Читать полностью…

Senior Python Developer

🤖 Data Analyst в Х5 Tech

В команде Х5 вас ждет:
— конкурентная зарплата, удаленка или гибридный формат;
— амбициозные проекты вроде собственной платформы по работе с нейросетями и автоматического ценообразования;
— прокачка навыков в корпоративном университете, митапы, конференции и общение с топами.

Развивайте один из продуктов:
— автоматизированное ценообразование;
— оптимизацию работы приложения;
— минимизацию затрат на транспорт.

Ожидаем, что вы:
— работаете в сфере Data Science или Data Analysis от трех лет;
— знаете Python;
— умеете проводить А/В-тестирования.

➡️ Откликнуться: @oooozhegovaaaa

Читать полностью…

Senior Python Developer

⁉️ Столкнулись с тормозящим кодом?

Асинхронность и потоки в Python — это два инструмента, которые могут сделать ваши программы быстрее, но где же разница? Если вам важно оптимизировать выполнение запросов и IO-операций, не пропустите бесплатный открытый урок 12 ноября в 20:00 мск!

Мы рассмотрим вытесняющую и кооперативную многозадачность, обсудим процессы и потоки на уровне ОС. Вы узнаете, что такое race conditions и как их избежать, а также получите практическое понимание, как работает asyncio в Python.

👨‍💻🛠👨🏻‍💻 Урок для Python-разработчиков, Data Scientists и ML-инженеров, которые работают с базами данных, API и многозадачностью.

🔴 Запишитесь на урок и получите скидку на курс «Python для аналитики»: https://otus.pw/GdtE/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Python Developer

⚙️ filter()

В Python функция filter() используется для отбора элементов, соответствующих условию. Она возвращает итератор, что делает её удобной и эффективной для обработки больших данных.

Читать полностью…

Senior Python Developer

🎉 Приглашаем вас на бесплатный практический урок "Временные ряды - Фурье и вейвлет анализ", который состоится 11.11.2024 в 20:00 (мск)! 🕗

Хотите стать крутым аналитиком данных или обучать машины в 2024?

На вебинаре мы узнаем:
- Насколько нормален временной ряд? Преобразование Бокса-Кокса и зачем оно нужно;
- Компоненты временного ряда: фурье-анализ и прогнозирование значений повторяющихся процессов;
- Нестационарные процессы: как вейвлет-анализ позволяет проводить классификацию сложных событий во временных рядах.

В результате вебинара вы узнаете:
- Как нормализировать временной ряд с помощью преобразования Бокса-Кокса;
- Как разложить ряд на компоненты и с их помощью прогнозировать будущие значения;
- Как анализировать нестационарные процессы с помощью вейвлет-анализа.

Этот открытый урок будет особенно интересен ML-инженерам, которые начинают знакомство с временными рядами и хотят вырваться за границы модели SARIMA.

Не упустите возможность углубить свои знания в области временных рядов!
👉 Присоединяйтесь к нам
: https://otus.pw/Yuht/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Python Developer

Что будет выведено при выполнении кода?

Пояснение
⬇️
Без передачи b функция использует b = a + 1, поэтому x = 3 * 4 = 12. С b=5 функция увеличивает b на 2, давая y = 3 * 7 = 21.

Читать полностью…

Senior Python Developer

IT-meetup для Python-разработчиков от команды «Группы Астра» и разработчиков RuPost

Разгоним осеннюю хандру! Говорят, что лучше всего в этом помогает непринужденная атмосфера среди единомышленников и кружка хорошего пшеничного смузи. 😎

План такой (надежный как швейцарские часы):
1) Проблемы GIL в Production и их возможные решения

Только реальные кейсы, только хард-рок! Расскажем про проблемы, с которыми столкнулись и как их решали.
Обсудим нововведения в Python 3.13, связанные с GIL.

2) Наш опыт использования JSON-RPC API
Почему именно JSON RPC? Сравним подходы и узнаем, где же REST, а также коснёмся документации.

3) Джедайские техники написания кода
Каков он путь джедая: от Юнлинга до Магистра. Испытания и приключения на всех уровнях. Главное, друг мой, не сходить с пути истинного — поделимся кодексом джедая.

И, конечно же, это не все! Тебя ждут интересные дискуссии, обмен опытом, классные знакомства и розыгрыш мерча.

Записываем: 15 ноября в 19:00 | Лофт «Событие», Москва, Николоямская улица дом 28

Регистрация доступна по ссылке.

Читать полностью…

Senior Python Developer

Глубокое копирование (deep copy)

Глубокое копирование нужно для создания полной копии объекта, включая все вложенные объекты. Это важно для изменяемых объектов, таких как списки, чтобы изменения в копии не затрагивали оригинал.

Когда мы вызываем глубокое копирование, происходит следующее:
- Создается новый контейнерный объект (список, словарь и т. д.);
- Для каждого элемента исходного объекта рекурсивно вызывается глубокое копирование:
- Если элемент является изменяемым объектом (списком, словарем), то создается его копия с рекурсивным копированием вложенных элементов;
- Если элемент неизменяемый (число, строка) - он просто копируется как есть;
- Копии вложенных объектов вставляются в копию исходного объекта.

#это_база

Читать полностью…

Senior Python Developer

Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

👩‍💻 Python: @PythonPortal
🖥 Базы Данных & SQL: @SQL
👩‍💻 Java: @Java_Iibrary
👩‍💻 С/С++: @Cpportal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Frontend: @FrontendPortal
⚙️ Backend: @BackendPortal
👩‍💻 C#: @KodBlog
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

Читать полностью…

Senior Python Developer

Обезьяний патч

Обезьяний патч (Monkey patch) в Python — это техника, которая позволяет изменять или расширять функциональность существующих классов, модулей или объектов во время выполнения программы. Этот термин образовался из-за аналогии с идеей того, что вы «насаживаете» (patch) код поверх существующего, подобно обучению обезьяны выполнять новые трюки.

#для_продвинутых

Читать полностью…

Senior Python Developer

Яндекс Foodtech Tour теперь в Казани!

Эксперты Еком-сервисов Яндекс продолжают тур по городам с митапами для бэкенд-разработчиков. Ближайший пройдет в Казани уже 14 ноября. В программе три доклада: 
👉 Никита Сидоров, руководитель службы инфраструктуры пользовательской скорости в Яндекс маркете, расскажет про подходы к работе над перформансом приложения
👉 Гадель Закиров и Назар Старанцов, руководители групп в Яндекс Еде, объяснят, как можно ускорять старт приложения и загрузку главной страницы 
👉 Гоша Пономарев и Костя Захматов, разработчики в Яндекс Лавке, поделятся историей ускорения работы в дарксторах 

После докладов гостей ждет открытый микрофон со спикерами и афтепати. Зовите друзей и регистрируйтесь

Обратите внимание, количество мест ограничено. После регистрации обязательно дождитесь подтверждения заявки.

Читать полностью…

Senior Python Developer

Центральный университет начал набор на поток бакалавриата 2025 года.

Центральный университет запустил конкурс на получение грантов на обучение:
— конкурс проходит ежемесячно до августа 2025 года
— участвовать можно как онлайн, так и очно — в Москве
— участие могут принять ученики старших классов школ, студенты старших курсов колледжей

Центральный университет и компании-партнеры предоставляют гранты:

— гранты на обучение выделяются в размере 25%, 50%, 70% и 100% от стоимости
— студенты могут увеличить размер гранта, участвуя в специальных мероприятиях

Мероприятия в рамках конкурса:
— онлайн-контест: предполагает проверку базовых знаний математики, логики и аналитического мышления
— бизнес-игра: гибкие навыки абитуриентов: мотивация, лидерские качества и коммуникативность
— ИТ-буткемпы и хакатоны, на которых полученные знания можно применить на практике

➡️ Откликнуться: https://apply.centraluniversity.ru/

Читать полностью…

Senior Python Developer

Метод update()

Метод словаря update() обновляет пары ключ-значение из словаря, переданного в качестве аргумента. Значения для имеющихся ключей обновляются, а для отсутствующих ключей вставляются key:value.

Читать полностью…

Senior Python Developer

🏁 Python разрабатывает API, как спорткар🏎 разгоняется до сотни — с FastAPI всё быстро, надёжно и элегантно 🏁

🛠 Если вам нужны инструменты для создания веб-приложений, которые не тормозят, не тратят лишних ресурсов и готовы к продакшену — ждём вас 26 ноября в 20:00 мск на бесплатном открытом уроке, где мы разберём, как FastAPI переворачивает мир разработки API. Узнаете всё: от маршрутизации до работы с базами данных и асинхронного программирования. А еще покажем, как создать простое API буквально за пару минут.

FastAPI — это не только скорость, но и простота в использовании. А для тех, кто хочет глубже нырнуть в разработку с Python, будет скидка на курс «Python Developer. Professional».

🔥Спикер Валентин Шилин — старший программист с опытом более 15 лет на С++, С#, JavaScript, Python, Scala, Java; аналитик данных; эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.

🔴 Зарегистрируйтесь прямо сейчас: https://otus.pw/sCZ5/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Senior Python Developer

⚙️ itertools.combinations()

В Python функция itertools.combinations() генерирует все возможные комбинации элементов заданной длины из итерируемого объекта. Это полезно для задач, связанных с перебором подмножеств.

Читать полностью…

Senior Python Developer

⚙️ itertools.product()

В Python функция itertools.product() генерирует декартово произведение нескольких итерируемых объектов, что удобно для перебора всех комбинаций элементов.

Читать полностью…

Senior Python Developer

Циклический сдвиг списка на N элементов вправо

Выше приведено решение с помощью слайсов.

Читать полностью…

Senior Python Developer

Что будет выведено при выполнении кода?

Пояснение
⬇️
Функция make_multiplier возвращает лямбду, которая замыкает n. doubler умножает на 2, а tripler — на 3, поэтому результат 10 и 15.

Читать полностью…

Senior Python Developer

➡️ LiteLLM — использование любого LLM с использованием OpenAI и многое другое

LiteLLM – инструмент для гибкого и лёгкого управления LLM в Python. С ним можно быстро переключаться между моделями, контролировать затраты, интегрировать API без изменений кода и оптимизировать производительность через балансировку нагрузки.

Поддержка единого формата для всех LLM, что упрощает интеграцию.
Возможность управления расходами и ограничения скорости запросов для предотвращения перегрузок.

🔗 Ссылочка на доку

Читать полностью…

Senior Python Developer

⚙️ all()

В Python функция all() проверяет, соответствуют ли все элементы условию (истинны). Отличный способ убедиться, что все значения удовлетворяют требованиям.

Читать полностью…

Senior Python Developer

Что такое линейная сложность сортировки?

Линейная сложность сортировки обозначает алгоритм сортировки, который имеет временную сложность, пропорциональную количеству элементов в сортируемом массиве (или коллекции). В математической нотации линейная сложность обозначается как O(n), где "n" - количество элементов.

Примером линейной сортировки может быть алгоритм «сортировка подсчётом» (counting sort). В этом алгоритме создается дополнительный массив для подсчета количества вхождений каждого элемента. Затем на основе этой информации о количестве вхождений каждого элемента строится отсортированный массив.

#для_начинающих

Читать полностью…

Senior Python Developer

Что такое MRO?

MRO (Method Resolution Order) — это механизм, используемый для определения порядка разрешения методов при наследовании классов и множественном наследовании. MRO определяет, какие методы будут вызываться в случае, когда у наследующего класса есть методы с одинаковыми именами, унаследованными от разных базовых классов.

MRO в Python определяется с помощью алгоритма C3 Linearization (C3 линеаризации). Этот алгоритм гарантирует, что порядок разрешения методов будет согласован и предсказуем вне зависимости от порядка наследования. Он предотвращает проблемы, связанные с амбигуитетами и неоднозначностями в множественном наследовании.

#для_продвинутых

Читать полностью…

Senior Python Developer

Функция id()

Функция id() используется для получения уникального идентификатора объекта. Этот идентификатор является целым числом, которое уникально для каждого объекта в рамках выполнения программы. Функция id() принимает один аргумент, который представляет собой объект, и возвращает его идентификатор.

Обратите внимание, что идентификатор объекта может измениться во время выполнения программы, если объект перемещается в памяти. Поэтому id() полезно для определения, указывают ли две переменные на один и тот же объект, но не следует полагаться на него для других целей, таких как сравнение объектов на идентичность.

#для_продвинутых

Читать полностью…

Senior Python Developer

classmethod

classmethod — это декоратор в Python, который используется для определения методов класса, которые не принимают экземпляр класса (self) в качестве первого аргумента, а вместо этого принимают класс (cls) в качестве первого аргумента. Эти методы могут использоваться для операций, которые связаны с самим классом, а не с его экземплярами.

#для_начинающих

Читать полностью…

Senior Python Developer

Срезы

Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовательности, такой как строка (str), список (list) или кортеж (tuple).

Читать полностью…

Senior Python Developer

👩‍💻 Задача по Python

Создайте функцию find_longest_substring для поиска самой длинной подстроки в строке, содержащей уникальные символы. Функция должна возвращать длину этой подстроки.

Пример:


print(find_longest_substring("abcabcbb")) # Вернёт 3, т.к. самая длинная уникальная подстрока "abc"
print(find_longest_substring("bbbbb")) # Вернёт 1, т.к. самая длинная уникальная подстрока "b"
print(find_longest_substring("pwwkew")) # Вернёт 3, т.к. самая длинная уникальная подстрока


Решение задачи на картинке

Читать полностью…
Subscribe to a channel