Обучающий канал по Python Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/Python_per_month
⚙️ Pympler для мониторинга и анализа памяти
ℹ️ Библиотека мониторит и анализирует память, которая используется при исполнении кода программ на Python. Инструмент находит ее избыточное потребление, утечки и другие баги.
🗣️ С помощью Pympler можно узнать все о размере и длительности процессов приложения на Python за время работы.
🔗 Ссылочка на доку
Python Learning 👩💻
➡️ Click — простой и мощный инструмент для создания CLI
Click — это библиотека Python, которая помогает быстро и просто создавать интерфейсы командной строки (CLI). Она обеспечивает удобное управление командами, параметрами и опциями, поддерживает создание вложенных команд и позволяет легко обрабатывать пользовательский ввод.
🗣 Если вы хотите создать CLI для своего Python-проекта с минимальными усилиями, Click — отличный выбор.
🔗 Ссылочка на доку
Python Learning 👩💻
➡️ Ленивая инициализация атрибутов с помощью __getattr__
В Python можно реализовать ленивую инициализацию атрибутов объекта с помощью метода __getattr__
.
🗣️ Это позволяет отложить вычисление и создание атрибутов до момента их первого обращения, что может быть полезно для оптимизации работы с ресурсозатратными данными.
Тестовые идентификаторы: как и где расставлять правильно
Смотреть статью
Python Learning 👩💻
⚙️ sh
Python — отличный скриптовый язык. Но иногда стандартные библиотеки os
и subprocess
вызывают только головную боль.
✔️ Библиотека sh может стать приятной альтернативой. Она позволяет вызывать любую программу как обычную функцию, что полезно для автоматизации различных задач исключительно с помощью Python.
🗣️ Библиотека sh
поддерживает только платформы Linux
и macOS
; для работы на Windows
вам придётся поискать другой инструмент.
🔗 Ссылочка на доку
Python Learning 👩💻
Новый лучший способ форматирования строк в Python
Смотреть статью
Python Learning 👩💻
➡️ wikipedia
У Wikipedia есть классное API, которое позволяет получить доступ к непревзойдённому источнику полностью бесплатной информации.
✔️ Модуль wikipedia делает доступ к этому API чуть ли чрезмерно удобным.
🗣️ Как и настоящий сайт, модуль предоставляет поддержку многих языков, разрешение многозначности страниц, получение случайной страницы и даже метод donate().
Python Learning 👩💻
Python уже покорен? А как насчет Django?
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
1️⃣ Работать с бэкендом и API
2️⃣ Создавать веб-приложение по шаблону от Django
3️⃣ Настраивать Nginx и Gunicorn
4️⃣ Автоматизировать резервное копирование
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2VtzqwEQ3nk
⚙️ dir
Когда-нибудь задумывались о том, как заглянуть внутрь объекта в Python и посмотреть на его атрибуты? Конечно, задумывались.
➡️ Используем командную строку:
>>> dir()
>>> dir("Hello World")
>>> dir(dir)
Самый полный стартовый гайд по ботам Telegram (python)
Смотреть статью
➡️ Использование коллекций Python
Коллекции Python — это контейнерные типы данных. В частности, это списки, множества, кортежи, словари. Модуль collections
даёт в распоряжение разработчика высокопроизводительные типы данных, которые помогают улучшить код, сделать его чище и облегчить работу с ним. Этот модуль содержит множество полезных методов. Здесь мы рассмотрим метод Counter()
.
Этот метод принимает итерируемый объект, такой, как список или кортеж, и возвращает словарь, содержащий сведения о количестве различных объектов в исследуемом списке (Counter Dictionary). Ключами такого словаря являются уникальные элементы, представленные в итерируемом объекте, а значениями — количества таких элементов.
Counter()
🏎💨Не позволяйте вашим приложениям терять скорость! Обрабатывайте задачи эффективно с FastAPI.
Узнайте, как фоновые задачи могут повысить отзывчивость вашего приложения.
Освойте FastAPI и научитесь улучшать производительность приложений. Повышение скорости ответа и снижение нагрузки — это реально.
⚡️Присоединяйтесь к открытому вебинару 20 мая в 20:00 мск и получите скидку на большое обучение «Python Developer. Basic»: https://otus.pw/yjXt/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
➡️ 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!"
⚙️ Chainer для построения и обучения нейронных сетей
ℹ️ Мощный и гибкий инструмент Python для построения и обучения глубоких нейронных сетей. Библиотека Chainer была разработана японской компанией Preferred Networks.
🔗 Ссылочка на доку
Python Learning 👩💻
⚙️ secrets для генерации случайных чисел и символов
ℹ️ Хотя реализовать свои собственные функции кодирования сообщений может быть очень весело, они, вероятно, не будут соответствовать тем же стандартам, что и проверенные в боевых условиях функции в библиотеке secrets.
🗣️ Там вы найдёте всё необходимое для генерации случайных чисел и символов для самых сложных паролей, токенов безопасности и связанных с ними секретов.
🔗 Ссылочка на доку
Python Learning 👩💻
➡️ FlashText — Быстрый поиск и замена строк
FlashText — это библиотека Python, которая позволяет быстро находить и заменять ключевые слова в строках. В отличие от стандартных методов поиска, таких как регулярные выражения, FlashText работает с целыми словами и значительно быстрее на больших текстах. Эта библиотека особенно полезна, если нужно обрабатывать огромные массивы текстовых данных.
🗣 FlashText — идеальный выбор для поиска и замены ключевых слов в текстах, когда производительность имеет ключевое значение.
🔗 Ссылочка на доку
Python Learning 👩💻
➡️ Создание цепочек вызовов методов с использованием класса-обертки
Цепочки вызовов позволяют вызывать несколько методов подряд на одном объекте, возвращая этот объект на каждом шаге. Это удобно для создания более читабельного и компактного кода.
🗣️ В этом примере класс Chainable позволяет создавать цепочки вызовов для выполнения арифметических операций. Методы add, multiply и subtract возвращают сам объект, что позволяет вызывать их последовательно, а метод result возвращает итоговое значение.
⚙️ Работа с хэшируемыми типами данных через __hash__
и __eq__
В Python можно управлять тем, как объекты сравниваются и хэшируются, путем реализации методов __hash__
и __eq__
.
🗣️ Это особенно полезно при использовании объектов в качестве ключей в словарях или элементов в множествах, где требуется уникальность.
⚙️ Декорируем функции
🗣️ Декоратор – это обертка вокруг функции, которая определенным образом изменяет ее поведение. Существуют варианты использования декораторов, и вы, возможно, уже применяли их раньше при работе с такими фреймворками, как Flask.
def print_argument(func):
def wrapper(the_number):
print("Argument for",
func.__name__,
"is", the_number)
return func(the_number)
return wrapper
@print_argument
def add_one(x):
return x + 1
print(add_one(1))
print_argument
мы определяем функцию-обертку. Она выводит аргумент и имя вызываемой функции, выполняет фактическую функцию и возвращает ее результат, как если бы функция вызывалась «обычно».@print_argument
мы применяем наш декоратор к функции. Декоратор может быть повторно использован и для других функций.Argument for add_one is 1
2
➡️ Использование генераторов для создания бесконечных последовательностей в Python
Генераторы в Python позволяют создавать ленивые последовательности, которые вычисляются по мере необходимости.
🗣️ Это мощный инструмент для работы с большими или даже бесконечными данными, поскольку генераторы экономят память и ресурсы. Один из интересных и необычных способов использования генераторов — создание бесконечных последовательностей.
Python Learning 👩💻
➡️ Проверка необходимой версии Python
✔️ Чтобы ваши пользователи не могли запустить скрипт в несовместимой версии, в коде стоит проверить наличие актуальной версии Python. Проведите простую проверку.
Python Learning 👩💻
➡️ Использование подчеркивания в REPL
Вы можете получить результат последнего выражения в Python REPL с помощью оператора подчеркивания, например, в Python REPL это выглядит следующим образом:
>>> 3 * 3
9
>>> _ + 3
12
⚙️ XlsxWriter для записи файлов в формате Excel
ℹ️ XlsxWriter — это очень мощный модуль Python для записи файлов в формате Excel. Он поддерживает добавление текста, чисел, формул, изображений и макросов Excel — среди прочих функциональных возможностей.
✔️ XlsxWriter даже интегрируется с pandas, известным пакетом Python для работы с данными.
🔗 Ссылочка на доку
Python Learning 👩💻
🧑🏻💻Хотите начать карьеру в программировании или улучшить свои навыки? Python — один из самых востребованных языков, который откроет для вас множество возможностей.
На курсе «Python Developer. Basic» вы научитесь создавать веб-приложения, работать с базами данных, использовать фреймворки FastAPI и Django, а также погрузитесь в асинхронное программирование.
Не упустите шанс прокачать свои навыки под руководством опытных практикующих экспертов. Программа курса регулярно обновляется с учетом требований рынка. После окончания вы будете готовы к реальным задачам и сможете претендовать на роль уверенного Junior Python-разработчика.
🚀Старт группы уже близко, оставьте заявку прямо сейчас и получите скидку на обучение: https://otus.pw/Vnsw/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔍Тестовое собеседование на Middle Python-разработчика в четверг
22 мая(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Собес проведет Вадим Пуштаев, ex. head of backend в 💙, автор канала @pythonetc, архитектор в европейской компании
Как это будет:
📂 Вадим будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Вадим будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Вадиму
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqxf5Xvt
➡️ Преобразование двух списков в словарь
Предположим, у нас имеется два списка. Один из них содержит имена студентов, а второй — их оценки. Как преобразовать эти два списка в словарь?
✔️ Для решения задачи можно прибегнуть к функции zip()
.
Python Learning 👩💻
⚙️ Оптимизация памяти в Python: Использование генераторов вместо списков
Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.
➡️ Пример кода
Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:
# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]
# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))
➡️ PyForest: Один импорт для всех важных модулей
Импортируйте все ключевые библиотеки Python одной строкой. Это удобно для всех ваших проектов по Data Science и при создании нового окружения в Conda.
🗣️ При работе с данными вы используете библиотеки, такие как pandas, matplotlib, seaborn, numpy и sklearn. Прежде чем приступить к работе, нужно их импортировать.
Библиотека решает несколько проблем:
• Однообразие: импорт всегда одинаковый и скучный.
• Пропущенные импорты мешают работе.
• Иногда нужно искать точные строки импорта, например, import matplotlib.pyplot as plt или from sklearn.ensemble import GradientBoostingRegressor.
🔗 Ссылочка на доку
Python Learning 👩💻
⚙️ Использование функции 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']
⚙️ Asyncio для работы с асинхронным кодом
ℹ️ Разработчики Python по всему миру используют библиотеку asyncio для написания параллельного кода с помощью синтаксиса async/await
.
🗣️ Библиотека asyncio больше всего подходит для кода, который связан с вводом-выводом, а также для высокоуровневого структурированного сетевого кода.
🔗 Ссылочка на доку
Python Learning 👩💻