Разъяснивший Python – Telegram
Разъяснивший Python
7.7K subscribers
2.79K photos
40 videos
30 files
2.67K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
PYTHON REQUESTS. ПЕРЕДАЧА COOKIE, SESSION, GET, POST ЗАПРОСЫ, ЗАГОЛОВКИ, API, JSON,СКАЧИВАНИЕ ФАЙЛОВ

В данном видео разбираемся с одним из самых популярных модулей в Python, модулем Requests. Установка, Get и Post запросы, передача параметров, установка заголовков при запросе, установка и передача cookie, создание и запросы через сессию Session(), HTTP коды состояния, работа с API, получение, обработка и передача JSON, скачивание файлов используя модуль Requests и много чего интересного.

Перейти к просмотру [12:43]

Разъяснивший Python
Как задать тайм-аут для любой функции

Иногда нужно ограничить время выполнения функции, особенно если она может "зависнуть". Для этого можно использовать concurrent.futures и ThreadPoolExecutor.

Итог:
Такой приём позволяет безопасно завершать зависающие операции, не блокируя основной поток. Отлично подходит для сетевых вызовов, парсинга и других непредсказуемых задач.

Разъяснивший Python
1
Чтобы начать карьеру в анализе данных, нужно выбрать направление. А для этого — как-то отличить друг от друга аналитиков данных, системных, продуктовых и бизнес-аналитиков, инженеров данных и специалистов по Data Science.

Яндекс Практикум запускает бесплатный курс, который поможет это сделать. Расскажем, чем занимаются разные аналитики, сколько они зарабатывают и как стать одним или одной из них.

Курс будет полезен, если
→ у вас нет опыта, но хочется работать в анализе данных;
→ хотите сменить профессию, но не знаете, с чего начать.

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

Начините путь в анализ данных вместе с Практикумом
Как можно применять модуль showballstemmer?

Работали когда-нибудь над поисковиками? Хороший поисковик должен много чего уметь находить по минимальному запросу.

Некоторые используют pymorph2 (первая слишком много потребляет ресурсов), но ведь достаточно определять основу слова, а не начальную форму для нахождения большинства результатов.

Библиотека showballstemmer и занимается тем, что определяет основу слова, что делает поиск более точным. А главное — библиотека мало потребляет, а результат получается намного лучше.

В начале следует импортировать модуль требуемого языка, к примеру вот модули английского, русского и французского соответственно: EnglishStemmer, FrenchStemmer, RussianStemmer

Разъяснивший Python
Пример аннотации типов

Аннотация типов дает возможность проставлять в коде "подсказки" для программиста, не используя комментарии через #

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

А еще можно воспользоваться модулем mypy, чтобы находить ошибки несоответствия типов в коде

Разъяснивший Python
Базы Данных

Хранить данные нужно всем. Обычно при работе программы все хранится в оперативной памяти (ОЗУ), но при перезапуске все стирается. И для запоминания информацию записывают на жесткий диск. Это и есть База Данных.

Самая популярная База Данных - текстовый файл с записанными значениями. И правда очень удобно. Достаточно открыть файл и прочитать, что там лежит, особенно, если мы знаем какая строка сему соответствует.

Еще информацию которая меняется от программы к программе можно записать в отдельный Python файл. Так нам даже не придется его открывать.

Разъяснивший Python
👍1
Использование функции sum()

Как бы вы решили задачу получения суммы элементов списка без обхода элементов в цикле?

Это можно сделать с помощью стандартной функции sum().

Cинтакс функции sum():
start)

Параметры sum():
iterable - итерируемые типы (list ,dict, tuple, и.т.д.)
start - (необязательно) значение этого параметра прибавляется к уже готовой сумме элементов iterable. По умолчанию значение этого параметра 0.

Возвращаемое значение из sum():
sum() возвращает сумму start и элементов всех последующих элементов.

Разъяснивший Python
Методы list в Python

Во время собеседования на вакансию
python-разработчика очень часто звучат вопросы про списки и их методы.
Мы собрали для вас часть этих методов.

1. append() - добавляет элемент в конец списка.

2. clear() - удаляет все элементы из списка

3. copy() - делает поверхностную копию списка. Почему нужно пользоваться именно этим методом, а не присваиванием мы разбирали в другой статье.

4. count() - считает, сколько раз в списке встречается переданный аргумент.

Разъяснивший Python
👍1
Как использовать умное логгирование исключений с exc_info=True

Когда ловишь исключение и хочешь залоггировать стек, многие забывают важный параметр.

Итог
Добавляй exc_info=True к логгированию исключений — получишь полный стек и не потеряешь важные детали при отладке.

Разъяснивший Python
1
Переопределение стандартного поведения функций через декоратор

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

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

Разъяснивший Python
Нюансы работы с merge

В pandas метод merge() используется для объединения двух датафреймов по одному или нескольким ключевым столбцам, аналогично SQL-операции JOIN. В данной статье автор рассказывает, с какими нюансами ты можешь столкнуться при использовании merge.

Читать статью

Разъяснивший Python
Повтор последнего результата в Python REPL

Если работаешь в интерактивном режиме Python (REPL), тебе не обязательно каждый раз сохранять результат в переменную — предыдущий результат всегда доступен через _.

Итог:
Символ _ в интерактивной консоли Python хранит результат последнего выражения — удобно для быстрых вычислений и экспериментов без создания переменных.

Разъяснивший Python
Следишь за своей видеокартой?

Скрипт, который:
Показывает загрузку GPU
Отображает объём свободной/занятой памяти
Показывает температуру

Код:

# pip install GPUtil tabulate

import GPUtil
from tabulate import tabulate
from typing import List, Tuple

def gpu_info() -> str:
"""
Получает информацию о доступных GPU: загрузка, температура, объём памяти.
Возвращает отформатированную таблицу.
"""
gpus = GPUtil.getGPUs()
gpus_list: List[Tuple] = []

for gpu in gpus:
gpus_list.append((
gpu.id,
gpu.name,
f"{gpu.load * 100:.1f}%",
f"{gpu.memoryFree}MB",
f"{gpu.memoryUsed}MB",
f"{gpu.memoryTotal}MB",
f"{gpu.temperature}°C"
))

return tabulate(
gpus_list,
headers=["id", "name", "load", "free memory", "used memory", "total memory", "temperature"],
tablefmt="pretty"
)

if __name__ == "__main__":
print(gpu_info())


Разъяснивший Python
Удаление дубликатов, сохраняя порядок

Стандартный set() удаляет дубликаты, но не сохраняет порядок. Чтобы сохранить порядок элементов, можно использовать dict.fromkeys().

Итог
dict.fromkeys() — простой и читаемый способ удалить дубликаты из списка, сохранив порядок появления. Работает быстро и не требует сторонних библиотек.

Разъяснивший Python
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Полезные библиотеки Python

Doc2Image — превращай документы в картинки, а тексты в визуальные идеи.

Когда обычного текста мало, а нужно показать смысл, на помощь приходит Doc2Image — нейросервис, который читает документы и генерирует по ним визуальные подсказки для Midjourney, DALL·E и других генераторов.

Как работает:
Ты загружаешь документ — он сам вычленяет суть, превращает её в понятное описание и подсказывает, какое изображение можно создать.

Поддержка как OpenAI, так и локальных моделей.
Удобный интерфейс и история всех запросов.
Работает быстро и без лишней магии — просто берёт и делает.

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

⚙️ GitHub/Инструкция

Разъяснивший Python
Детектор утечек

С помощью данного скрипта ты узнаешь, сливали ли твои имейлы или пароли. Делается это с помощью HaveIBeenPwned API. Ты вводишь email или пароль для проверки, а в ответ выводится список сайтов, где была компрометация.

Ссылка на код

Разъяснивший Python
1
Что такое logging в Python?

logging — это встроенный модуль Python для создания логов, которые помогают отлаживать и мониторить работу приложений.

Пример:

import logging

# Настройка базового уровня логирования
logging.basicConfig(level=logging.INFO)

# Создание лога
logging.info("Приложение запущено")
logging.warning("Это предупреждение!")
logging.error("Произошла ошибка")


🗣 В этом примере модуль logging создаёт сообщения разного уровня важности. Логирование позволяет отслеживать работу приложений и находить проблемы в коде.


Подробнее тут

Разъяснивший Python
Проверка существования атрибута без try/except

Иногда нужно понять, есть ли у объекта нужное свойство, и не хочется использовать try/except. В этом случае поможет встроенная функция hasattr().

Итог:
Функция hasattr() позволяет лаконично проверить наличие атрибута у объекта — читаемо и без лишних конструкций.

Разъяснивший Python
Пример использования tqdm

Tqdm (от арабского слова "taqadum", что означает "прогресс") — это библиотека Python, которая позволяет легко и быстро создавать индикаторы выполнения задач. Она особенно полезна при работе с длительными операциями, так как позволяет отслеживать ход выполнения и остаточное время.

Разъяснивший Python
1
Отслеживатель подписок и расходов

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

Ссылка на код

Разъяснивший Python
Преобразование Word Doc или Docx в PDF в Python

Spire.Doc for Python предоставляет метод Document.LoadFromFile(), который позволяет пользователям загрузить файл Doc или Docx.

После этого можно выполнить преобразование в PDF с помощью метода Document.SaveToFile(string filename, ToPdfParameterList parameter).

Разъяснивший Python