№ 4931117861 Публикуем интересные/полезные фичи/библиотеки языка. По вопросам сотрудничества: @adv_and_pr Канал на бирже: https://telega.in/c/seniorpy
➡️ PyForest: Один импорт для всех важных модулей
Импортируйте все ключевые библиотеки Python одной строкой. Это удобно для всех ваших проектов по Data Science и при создании нового окружения в Conda.
🗣️ При работе с данными вы используете библиотеки, такие как pandas, matplotlib, seaborn, numpy и sklearn. Прежде чем приступить к работе, нужно их импортировать.
Библиотека решает несколько проблем:
• Однообразие: импорт всегда одинаковый и скучный.
• Пропущенные импорты мешают работе.
• Иногда нужно искать точные строки импорта, например, import matplotlib.pyplot as plt или from sklearn.ensemble import GradientBoostingRegressor.
🔗 Ссылочка на доку
Ворвись в IT с Романом Сакутиным
Онлайн-школы обещают небо в алмазах для всех начинающих айтишников. Но сколько в этом правды? Роман, айтишник с 10 летним опытом, сделал бесплатный симулятор разных айти профессий для полных новичков.
В нём вы сможете пройти свой первый рабочий день под руководством наставника даже если вы абсолютный ноль и получить награду в конце.
Играйте бесплатной в боте - /channel/break_into_it_bot?start=TG_IN_20082024
erid: LjN8KGWhZ
➡️ Использование коллекций Python
Коллекции Python — это контейнерные типы данных. В частности, это списки, множества, кортежи, словари. Модуль collections
даёт в распоряжение разработчика высокопроизводительные типы данных, которые помогают улучшить код, сделать его чище и облегчить работу с ним. Этот модуль содержит множество полезных методов. Здесь мы рассмотрим метод Counter()
.
Этот метод принимает итерируемый объект, такой, как список или кортеж, и возвращает словарь, содержащий сведения о количестве различных объектов в исследуемом списке (Counter Dictionary). Ключами такого словаря являются уникальные элементы, представленные в итерируемом объекте, а значениями — количества таких элементов.
Counter()
Читать полностью…
Преобразование двух списков в словарь
Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь?
✔️ Для решения задачи можно прибегнуть к функции zip()
.
Самый полный стартовый гайд по ботам Telegram (python)
Смотреть статью
⚙️ Использование функции 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']Читать полностью…
💪Что должен знать и уметь толковый питонист?
👉Узнайте на бесплатном вебинаре онлайн-курса «Python Developer. Basic» - «Интерфейсы и протоколы в Python»: регистрация
На занятии мы:
- разберемся, как правильно создавать зависимости от интерфейса, а не реализации,
- и посмотрим на тип Protocol в Python.
Вебинар будет полезен начинающим Python-разработчикам, желающим познакомиться с использованием интерфейсов и способами аннотирования комплексных объектов в Python
В результате вебинара вы научитесь создавать в коде зависимости от интерфейса, а не реализации, и создавать аннотации типов в Python для комплексных объектов через Protocol.
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www otus ru
Оплачиваемая стажировка и трудоустройство без опыта — ну ничего себе 😳
Все возможно с Добровольным квалификационным экзаменом! Это бесплатный проект Правительства Москвы, где ты можешь показать свои знания по специальности, запомниться потенциальным работодателям и получить оффер в престижные компании Москвы.
Тебя ждет всего три шага:
1️⃣ Пройди тест
После регистрации на сайте ДКЭ тебе будет доступно 70 профессий по 7 направлениям. Выбирай тест по своей специальности и проверь уровень своих знаний!
2️⃣ Реши кейс
Если ты успешно сдал тест, тебя пригласят на следующий этап, где ты с другими участниками в команде будешь решать реальный кейс одного из работодателей.
3️⃣ Стань победителем
Окажись в числе лучших по общему количеству баллов за оба этапа и получи шанс попасть на оплачиваемую стажировку с дальнейшим трудоустройством.
Готов проявить себя? Регистрируйся и начинай проходить тест — https://dke.moscow
Реклама. АНО "РАЗВИТИЕ ЧЕЛОВЕЧЕСКОГО КАПИТАЛА", АНО "РЧК". ИНН 7710364647. erid: LjN8KLXnw
⚙️ __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__()
позволяет определять понятное пользователю строковое представление, которое можно отображать в интерфейсе программы.
Читать полностью…
➡️ wikipedia
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().
Как подготовить данные без пропусков, дубликатов и некорректных значений?
Расскажем как предварительно обработать сырые данные на открытом уроке «Подготовка данных в Pandas»
🔹Последовательно рассмотрим этапы обработки пропусков, дубликатов и поиск аномалий.
✅ Практика: Чистка данных при помощи библиотеки Pandas
Урок приурочен курсу «Machine Learning» от Otus. По окончанию обучение получите диплом государственного образца.
👉 Регистрация и подробности:
https://vk.cc/czmvgQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
➡️ Data classes
Начиная с версии 3.7, Python поставляется с классами данных. У них есть несколько преимуществ по сравнению с обычными классами или другими альтернативами:•
возврат нескольких значений или словарей;•
класс данных требует минимального количества кода;•
возможность сравнения классов данных;•
возможность распечатать класс данных для отладки при помощи repr;•
снижение вероятности ошибок в связи с требованием класса данных type hints.
Не будем утомлять вас рассказами о ДМС, крутых офисах и других плюшках. Вот главное о том, почему Python-разработчикам нравится Т-Банк:
— Знают, как устроен продукт, и влияют на его развитие. Улучшения может предложить каждый.
— Прозрачная система роста. Матрица компетенций объяснит, какие навыки нужно подтянуть, а ежегодное ревью поможет оценить результаты и получить повышение.
— Python-комьюнити. Вы окажетесь среди профессионалов, у которых можно многому научиться, а если захотите, можете стать ментором для младших коллег.
— В Т-Банке любят то, что делают.
Смотрите вакансии для Python-разработчиков.
Erid: 2VtzqvRzVQ8
⚙️ itertools для итерации более чем одного итерируемого объекта
ℹ️ Если вы когда-нибудь оказывались в ситуации, когда вы пишете вложенные циклы или сложные функции для итерации более чем одного итерируемого объекта, проверьте, есть ли нужная функция в библиотеке itertools.
🗣️ Возможно, вам не придется изобретать велосипед — Python учтёт все ваши потребности.
🔗 Ссылочка на доку
⚙️ pathlib для работы с системными путями
ℹ️ Модуль Python os, мягко говоря, отстой… К счастью, разработчики ядра Python услышали крики миллионов и представили библиотеку pathlib в Python 3.4. Она обеспечивает удобный объектно-ориентированный подход к системным путям.
🗣️ Она также очень старается решить все проблемы, связанные с системой путей Windows
🔗 Ссылочка на доку
➡️ 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!"
⚙️ Оптимизация памяти в Python: Использование генераторов вместо списков
Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.
➡️ Пример кода
Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:
# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]
# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))
Есть два стула…Python или Go. На примере Kubernetes
Как связать код и инфраструктуру в единое целое? Как использовать Kubernetes в приложениях на все 100%, контролируя любую абстракцию в кластере?
Поговорим об этом на бесплатном вебинаре от Слёрма 21 августа в 19:00 мск⚡
Обсудим:
▶️ «Умный» автоскейлинг на основе бизнес-метрик
▶️ Модификация манифестов приложений на лету
▶️ Динамическая приоритизация использования ресурсов кластера в мультитенантной архитектуре
▶️ Кастомизируемый роутинг для stateful приложений с закреплением клиентов за нужными подами в условиях переподключения клиентов
Зачем все это нужно и как реализовать задуманное? Покажем на кейсах Python и Golang.
Спикер: Виталий Лихачев, SRE в booking.com, ex-Avito Senior Software Engineer
Подробности в боте @GolangPython_Bot ⬅️
Присоединяйтесь!
erid: LjN8KC7PH
💪Вам нужен надёжный API!
👉Узнайте как создавать надежные API с проверкой параметров запроса и валидацией сложных данных на бесплатном вебинаре онлайн-курса «Python Developer. Professional» - «FastAPI - валидация параметров запроса с помощью Pydantic»: регистрация
На бесплатном вебинаре мы:
- Рассмотрим, как FastAPI и Pydantic работают вместе для валидации данных;
- Научимся создавать и использовать Pydantic модели для валидации параметров запроса;
- Рассмотрим как валидировать сложные и вложенные структуры данных в запросах.
Занятие будет полезно Python разработчикам, которым необходимо создавать надежные API с проверкой параметров запроса и валидацией сложных данных.
🤝Понравится урок — продолжите обучение на курсе по спеццене и даже в рассрочку!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Нижний Новгород, встречай Сезон кода — большой ИТ-фестиваль
Фестиваль для опытных специалистов в Data, .NET, Java и Python. Время собраться всем ИТ-сообществом, обменяться опытом и просто повеселиться. В программе доклады, знакомство с коллегами, настольный теннис, баскетбол, ИТ-квиз, настольные игры и живая музыка.
Успейте зарегистрироваться на Сезон кода
📍Пройдет в Нижнем Новгороде 14 сентября
erid:2VtzqxFMcZj
Реклама. АО "ТБанк", ИНН 7710140679, лицензия ЦБ РФ № 2673
howdoi
Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?
Тогда вам не обойтись без этого инструмента командной строки:
$ pip install howdoi
Задайте любой вопрос, и он постарается найти ответ на него
➡️ Queue
Python поддерживает многопоточность, в использовании которой помогает стандартный модуль Queue.
✔️ Он позволяет реализовывать такую структуру данных, как очередь. Очереди позволяют добавлять и извлекать элементы согласно определённому правилу.
🗣️ Очереди «первым пришёл — первым ушёл» («first in, first out», FIFO) позволяют извлекать объекты в порядке их добавления. Из очередей «последним пришёл — первым ушёл» («last in, first out», LIFO) можно извлекать последние добавленные объекты.
⚙️ Перегрузка операторов
В Python есть поддержка перегрузки операторов — одной из тех штук, о которых говорят все настоящие computer-scientis’ы.
✔️ На самом деле идея проста. Когда-нибудь задумывались, почему Python позволяет использовать оператор + как для сложения чисел, так и для конкатенации строк? За этим как раз и стоит перегрузка операторов.
🗣️ Вы можете определять объекты, которые используют стандартные символы операторов любым образом. Это позволяет применять их в контексте объектов, с которыми вы работаете.
⚙️ sh
Python — отличный скриптовый язык. Но иногда стандартные библиотеки os
и subprocess
вызывают только головную боль.
✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.
🗣️ Библиотека sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.
🔗 Ссылочка на доку
➡️ Многоточие в Python
🗣️ Многоточие Python – это последовательность из трех точек, часто используемая в естественных языках. Но чего вы, возможно, не знаете – это еще и валидный объект в Python:
>>> ...
Ellipsis
python
def my_awesome_func():
...
➡️ PyYAML
YAML означает «YAML — не язык разметки» («YAML Ain’t Markup Language»). Это язык форматирования данных, являющийся надмножеством JSON.
🗣️ В отличие от JSON, YAML может хранить более сложные объекты и ссылаться на собственные элементы. Также там можно писать комментарии, что делает YAML подходящим для конфигурационных файлов.
⚙️ Обязательные аргументы
➡️ Для принудительного использования аргументов ставьте символ звездочки (*
) перед ними, заставляя все аргументы стать ключевыми.
➡️ Проверка необходимой версии Python
✔️ Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python. Проведите простую проверку.
⚙️ glob для удобной работы с файлами
ℹ️ Для пользователей, которым нравится сопоставление шаблонов в стиле Unix, библиотека glob должна чувствовать себя как дома.
🗣️ glob содержит все необходимые функции для работы с несколькими файлами одновременно без головной боли.
🔗 Ссылочка на доку
😮 Добавлена новая база слитых курсов на 800ГБ:
Python:
/channel/+OnAzdnf-1mRjNjYy
Программирование:
/channel/+V2R5VLsH2igwMmU6
Frontend и Web:
/channel/+baoGxh-bG4Q5NmNi
Графика и дизайн:
/channel/+GrDwDo7c96s5ZTIy