seniorpy | Unsorted

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

44765

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

Subscribe to a channel

Senior Python Developer

⚙️ Управление временем выполнения функций с помощью тайм-аутов в Python

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

🗣️ В Python можно использовать модуль signal для установки тайм-аутов на выполнение кода.

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

Senior Python Developer

Какие три элемента – самые важные в жизни сотрудника внутри IT-компании?

включение в бизнес-процессы компании
развитие в компании
парадигма «мотивация – демотивация – увольнение/рост»

Каждый из этих элементов может стать как трамплином, так и проблемой. И для сотрудника, и для команды, и даже для целой организации.

На конференции «OTUS CONF: поддержка и управление в IT-командах»
вы узнаете:

- Как лучше «подключать» удалённых сотрудников к бизнес-процессам организации
- Как давать обратную связь и как на неё реагировать без ущерба для профессиональных отношений
- Как повысить уровень вовлечённости сотрудников
- Как бороться с «тихими увольнениями»

Будет интересно тимлидам, руководителям в IT, эйчарам, HRBP

Присоединяйтесь, слушайте дискуссии экспертов в сферах HR и управления, задавайте вопросы

28 августа, 19:00 МСК
Бесплатно

➡️ Записаться на конференцию

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

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

Senior Python Developer

➡️ Декоратор для измерения времени выполнения функции в Python

В Python можно легко измерять время выполнения функций с помощью декораторов. Этот подход удобен для анализа производительности и оптимизации кода.

Декоратор оборачивает функцию и измеряет время ее выполнения, выводя результат на экран. Это позволяет легко оценить производительность различных участков кода.

Декоратор time_it может использоваться для любых функций, без изменения их логики, что делает его удобным инструментом для анализа производительности.

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

Senior Python Developer

⚙️ Temporian для предварительной обработки временных данных

ℹ️ Temporian предлагает новую парадигму для работы с временными данными. Будучи специально разработанными для него, плюс его основные вычисления, выполняемые как высокооптимизированный код C ++, позволяют ему сделать обычные временные операции более безопасными, простыми в написании и намного, намного быстрее в выполнении - с бенчмарками, показывающими ускорение более чем в 100 раз по сравнению с эквивалентным кодом pandas.

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

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

Senior Python Developer

🔴 Новый сервис для тех, кто любит решать задачки и хочет подтянуть свои навыки в разработке.

Это CodeRun. В нём найдёте задачи по фронтенду, бэкенду, мобильной разработке, аналитике и машинному обучению. А ещё комьюнити, в котором можете и попросить помощи, и посоревноваться с участниками.

Подписывайтесь ✨ @yandex

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

Senior Python Developer

➡️ clean-text для нормализации и очистки текста

Отличный однострочный код для нормализации и очистки текста — идеально для проектов по обработке естественного языка.

Контент, созданный пользователями в Интернете и в социальных сетях, часто бывает грязным. Предварительно обработайте свои данные с помощью clean-text, чтобы создать нормализованное текстовое представление. Например, преобразуйте этот испорченный ввод:

A bunch of \\u2018new\\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«


в этот чистый вывод:

A bunch of 'new' references, including [moana](<URL>).
"you are right <3!"


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

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

Senior Python Developer

⚙️ Оптимизация памяти в Python: Использование генераторов вместо списков

Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.

➡️ Пример кода

Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:

# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]


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

# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))


Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.

Почему это полезно

Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.

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

Senior Python Developer

Есть два стула…Python или Go. На примере Kubernetes

Как связать код и инфраструктуру в единое целое? Как использовать Kubernetes в приложениях на все 100%, контролируя любую абстракцию в кластере? 

Поговорим об этом на бесплатном вебинаре от Слёрма 21 августа в 19:00 мск

Обсудим:

▶️  «Умный» автоскейлинг на основе бизнес-метрик
▶️  Модификация манифестов приложений на лету
▶️  Динамическая приоритизация использования ресурсов кластера в мультитенантной архитектуре
▶️  Кастомизируемый роутинг для stateful приложений с закреплением клиентов за нужными подами в условиях переподключения клиентов

Зачем все это нужно и как реализовать задуманное? Покажем на кейсах Python и Golang.

Спикер: Виталий Лихачев, SRE в booking.com, ex-Avito Senior Software Engineer

Подробности в боте @GolangPython_Bot ⬅️
Присоединяйтесь!

erid: LjN8KC7PH

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

Senior Python Developer

💪Вам нужен надёжный API!

👉Узнайте как создавать надежные API с проверкой параметров запроса и валидацией сложных данных на бесплатном вебинаре онлайн-курса «Python Developer. Professional» - «FastAPI - валидация параметров запроса с помощью Pydantic»: регистрация

На бесплатном вебинаре мы:
- Рассмотрим, как FastAPI и Pydantic работают вместе для валидации данных;
- Научимся создавать и использовать Pydantic модели для валидации параметров запроса;
- Рассмотрим как валидировать сложные и вложенные структуры данных в запросах.

Занятие будет полезно Python разработчикам, которым необходимо создавать надежные API с проверкой параметров запроса и валидацией сложных данных.

🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!

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

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

Senior Python Developer

Нижний Новгород, встречай Сезон кода — большой ИТ-фестиваль

Фестиваль для опытных специалистов в Data, .NET, Java и Python. Время собраться всем ИТ-сообществом, обменяться опытом и просто повеселиться. В программе доклады, знакомство с коллегами, настольный теннис, баскетбол, ИТ-квиз, настольные игры и живая музыка.

Успейте зарегистрироваться на Сезон кода

📍Пройдет в Нижнем Новгороде 14 сентября

erid:2VtzqxFMcZj
Реклама. АО "ТБанк", ИНН 7710140679, лицензия ЦБ РФ № 2673

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

Senior Python Developer

howdoi

Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?

Тогда вам не обойтись без этого инструмента командной строки:

$ pip install howdoi

Задайте любой вопрос, и он постарается найти ответ на него

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

Senior Python Developer

➡️ Queue

Python поддерживает многопоточность, в использовании которой помогает стандартный модуль Queue.

✔️ Он позволяет реализовывать такую структуру данных, как очередь. Очереди позволяют добавлять и извлекать элементы согласно определённому правилу.

🗣️ Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.


⚙️ Наконец, приоритетные очереди позволяют извлекать объекты согласно порядку их сортировки.

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

Senior Python Developer

⚙️ Перегрузка операторов

В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.

✔️ На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.

🗣️ Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.

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

Senior Python Developer

⚙️ sh

Python — отличный скриптовый язык. Но иногда стандартные библиотеки os и subprocess вызывают только головную боль.

✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.

🗣️ Библиотека sh поддерживает только платформы Linux и macOS; для работы на Windows вам придётся поискать другой инструмент.

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

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

Senior Python Developer

➡️ Многоточие в Python

🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:

>>> ...
Ellipsis


⚙️ Применяется он преимущественно в операциях нарезки матриц в NumPy. Однако можно использовать его вместо обычного pass в качестве плэйсхолдера в функции, которую еще не реализовали:

python        
def my_awesome_func():
...


✔️ Вот валидный код Python, и выглядит он теперь не так уж плохо.

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

Senior Python Developer

➡️ Извлечение уникальных элементов из списка с сохранением порядка

🗣️ Обычно, когда нужно получить уникальные элементы из списка, используют set. Однако это нарушает порядок элементов.

Чтобы извлечь уникальные элементы, сохраняя их порядок, можно использовать следующую технику:

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

Используем однострочный list comprehension с условием, которое добавляет элемент в результирующий список только если он ещё не был добавлен.

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

Senior Python Developer

➡️ Использование contextlib.contextmanager для создания контекстных менеджеров

Иногда бывает нужно создать собственный контекстный менеджер для управления ресурсами, такими как файлы или сетевые соединения.

✔️ В Python для этого можно использовать декоратор contextlib.contextmanager, что делает код простым и элегантным.

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

Senior Python Developer

⚙️ Unstructured для предварительной обработки текста

ℹ️ Unstructured - это доступная библиотека Python для легкого извлечения текста из документов. Она упрощает очистку текста, обрабатывая все, от удаления маркеров до управления эмодзи и языкового перевода.

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

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

Senior Python Developer

⚙️ Fabulous — вывод картинок в консоль

ℹ️ Вам не достаточно красивого вывода таблиц в консоль? А как насчёт вывода текста с тенями или даже картинок? Теперь это возможно!

🗣️ Использовать только в небольших количествах во избежание перелома чувства прекрасного

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

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

Senior Python Developer

➡️ PyForest: Один импорт для всех важных модулей

Импортируйте все ключевые библиотеки Python одной строкой. Это удобно для всех ваших проектов по Data Science и при создании нового окружения в Conda.

🗣️ При работе с данными вы используете библиотеки, такие как pandas, matplotlib, seaborn, numpy и sklearn. Прежде чем приступить к работе, нужно их импортировать.

Библиотека решает несколько проблем
:

• Однообразие: импорт всегда одинаковый и скучный.
• Пропущенные импорты мешают работе.
• Иногда нужно искать точные строки импорта, например, import matplotlib.pyplot as plt или from sklearn.ensemble import GradientBoostingRegressor.

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

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

Senior Python Developer

Ворвись в IT с Романом Сакутиным 

Онлайн-школы обещают небо в алмазах для всех начинающих айтишников. Но сколько в этом правды? Роман, айтишник с 10 летним опытом, сделал бесплатный симулятор разных айти профессий для полных новичков. 

В нём вы сможете пройти свой первый рабочий день под руководством наставника даже если вы абсолютный ноль и получить награду в конце. 

Играйте бесплатной в боте - /channel/break_into_it_bot?start=TG_IN_20082024

erid: LjN8KGWhZ

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

Senior Python Developer

➡️ Использование коллекций Python

Коллекции Python — это контейнерные типы данных. В частности, это списки, множества, кортежи, словари. Модуль collections даёт в распоряжение разработчика высокопроизводительные типы данных, которые помогают улучшить код, сделать его чище и облегчить работу с ним. Этот модуль содержит множество полезных методов. Здесь мы рассмотрим метод Counter().

Этот метод принимает итерируемый объект, такой, как список или кортеж, и возвращает словарь, содержащий сведения о количестве различных объектов в исследуемом списке (Counter Dictionary). Ключами такого словаря являются уникальные элементы, представленные в итерируемом объекте, а значениями — количества таких элементов.


🗣️ Для создания объекта Counter нужно передать итерируемый объект (список, например) методу Counter()

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

Senior Python Developer

Преобразование двух списков в словарь

Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь?

✔️ Для решения задачи можно прибегнуть к функции zip().

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

Senior Python Developer

Самый полный стартовый гайд по ботам Telegram (python)

Смотреть статью

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

Senior Python Developer

⚙️ Использование функции sorted()

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

🗣️ Эта функция сортирует любые последовательности (списки, кортежи) и всегда возвращает список с отсортированными элементами. Рассмотрим пример сортировки списка чисел в порядке возрастания:

sorted([3,5,2,1,4]) # [1, 2, 3, 4, 5]


➡️ А вот — пример сортировки списка строк в порядке убывания:

sorted(['france', 'germany', 'canada', 'india', 'china'], reverse=True) # ['india', 'germany', 'france', 'china', 'canada']

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

Senior Python Developer

💪Что должен знать и уметь толковый питонист?

👉Узнайте на бесплатном вебинаре онлайн-курса «Python Developer. Basic» - «Интерфейсы и протоколы в Python»: регистрация

На занятии мы:
- разберемся, как правильно создавать зависимости от интерфейса, а не реализации,
- и посмотрим на тип Protocol в Python.

Вебинар будет полезен начинающим Python-разработчикам, желающим познакомиться с использованием интерфейсов и способами аннотирования комплексных объектов в Python

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

🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!

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

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

Senior Python Developer

Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳

Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.

Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.

Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow

Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8KLXnw

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

Senior Python Developer

⚙️ __repr__

При определении класса или объекта полезно добавлять «официальный» способ представления объекта строкой. Например:

>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>


✔️ Это сильно упрощает отладку. Вот всё, что вам нужно сделать:

class SomeClass:
def __repr__(self):
return "<какое-то описание>"

some_instance = SomeClass()

# выводит <какое-то описание>
print(some_instance)


Метод __repr__() позволяет определять строковое представление, предназначенное для программиста и удобное при использовании во время отладки, а метод __str__() позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.

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

Senior Python Developer

➡️ wikipedia

У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.

✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.

🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().

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

Senior Python Developer

Как подготовить данные без пропусков, дубликатов и некорректных значений? 

Расскажем как предварительно обработать сырые данные на открытом уроке «Подготовка данных в Pandas» 

🔹Последовательно рассмотрим этапы обработки пропусков, дубликатов и  поиск аномалий. 

✅ Практика: Чистка данных при помощи библиотеки Pandas

Урок приурочен курсу «Machine Learning» от Otus. По окончанию обучение получите диплом государственного образца.


👉 Регистрация и подробности:
https://vk.cc/czmvgQ

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

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