Python Skills 🐍
303 subscribers
1.02K photos
17 videos
302 links
Канал полезного и юмористического контента на тему программирования, в частности такого языка как Python.

По всем вопросам: @andrey_andrey01
Download Telegram
Модуль geopy

Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:

$ pip install geopy

Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.

Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
💡 Как скачать аудио с YouTube с помощью Python

⚙️ pip install -U pafy

#tipsandtricks #doc #python
Шифрование встроенными средствами

Встроенная библиотека hashlib позволяет осуществлять шифрование различными алгоритмами.

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

Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.

Как правило, в этом случае объект одного из классов (в примере выше это Salary) является полем другого (Employee). Сложного здесь, как вы видите, ничего нет.

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

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

#классы #ооп
Да
Взаимодействие с ОС

Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.

Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть

Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.

Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».

Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.

Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Пакетный менеджер pip

Для работы с пакетами в Python есть специальная утилита pip — устанавливается она сразу вместе с интерпретатором.

Установить или удалить пакет можно через команды install и uninstall. После них нужно перечислить необходимые пакеты через пробел.

Команды list и freeze покажут все пакеты в текущем окружении, а также их версии. Обратите внимание на то, как выглядит вывод каждой из них.

А с помощью show можно посмотреть информацию о конкретном пакете: название, версию, описание, автора, лицензию и другое.

#pip
Удаление фона с помощью Rembg на Python

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

Инструкция по использованию тут:

https://tprg.ru/L6fH
Что нужно для парсинга сайта?

Разберем некоторые аспекты парсинга сайтов.

Самое главное — базовые знания html, понимание работы сайтов в целом. Под каждую отдельную задачу пишется отдельный скрипт. Если сайт изменит свой дизайн, пишем новый алгоритм, старый не будет работать корректно.

Алгоритм

1. Изучаем структуру
2. Вычленяем нужные данные
3. Пишем алгоритм
4. Пишем интерфейс работы с алгоритмом
5. Упаковываем в приложение

Библиотеки

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

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

Использовать их можно в комплекте, Selenium делает действия на странице, BeautifulSoup ее анализирует.
How to reverse a list in Python
Работаем с атрибутами объектов

Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции: getattr, setattr, delattr и hasattr.

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

Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В setattr также нужно передать новое значение для атрибута.

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

#классы #атрибуты
Ютуб VS Книги.