Модуль geopy
Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:
$ pip install geopy
Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.
Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:
$ pip install geopy
Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.
Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
ООП: композиция
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это
Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля
#классы #ооп
Композиция — это отношение, при котором объекты одного класса связаны с объектами другого. Такой способ организации взаимодействия между классами также называется ассоциацией.
Как правило, в этом случае объект одного из классов (в примере выше это
Salary
) является полем другого (Employee
). Сложного здесь, как вы видите, ничего нет.Ассоциированные объекты зачастую могут циклически ссылаться друг на друга, что ломает стандартный механизм сборки мусора.
В таком случае необходимо использовать слабые ссылки из модуля
weakref
, о котором поговорим позже.#классы #ооп
Взаимодействие с ОС
Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.
Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
Для взаимодействия с операционной системой в Python предусмотрен встроенный модуль OS. Позволяет узнать информацию о системе, создавать файлы, папки, переименовывать. На борту базовый набор необходимых функций.
Полезно в любом проекте. Однако некоторые функции работают не со всеми операционными системами.
Подсказки типов | Ожидание типа | Type hinting (Python 3.5+) 2 часть
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Динамические языки не заставляют Вас определять тип переменных перед тем, как их использовать.
Утиная типизация: «Если это выглядит как утка и крякает как утка, значит это утка».
Спор о том, какое типизирование python лучше — статическое или динамическое — не умолкают и по сей день и у каждого есть свое мнение на этот счет.
Это личное дело читателя — когда ему нужно вписывать типы, но мне кажется что вы как минимум должны знать о том, что Python 3 поддерживает подсказки типов.
Пакетный менеджер pip
Для работы с пакетами в Python есть специальная утилита
Установить или удалить пакет можно через команды
Команды
А с помощью
#pip
Для работы с пакетами в Python есть специальная утилита
pip
— устанавливается она сразу вместе с интерпретатором.Установить или удалить пакет можно через команды
install
и uninstall
. После них нужно перечислить необходимые пакеты через пробел.Команды
list
и freeze
покажут все пакеты в текущем окружении, а также их версии. Обратите внимание на то, как выглядит вывод каждой из них.А с помощью
show
можно посмотреть информацию о конкретном пакете: название, версию, описание, автора, лицензию и другое.#pip
Удаление фона с помощью Rembg на Python
Библиотека Rembg предлагает готовое решение по удалению фона с изображений для разработчиков, которые не хотят возиться с графическими редакторами. Для работы библиотеки и распознавания фона используется Pytorch, а сам проект лежит в открытом доступе для всеобщего пользования.
Инструкция по использованию тут:
https://tprg.ru/L6fH
Библиотека Rembg предлагает готовое решение по удалению фона с изображений для разработчиков, которые не хотят возиться с графическими редакторами. Для работы библиотеки и распознавания фона используется Pytorch, а сам проект лежит в открытом доступе для всеобщего пользования.
Инструкция по использованию тут:
https://tprg.ru/L6fH
Что нужно для парсинга сайта?
Разберем некоторые аспекты парсинга сайтов.
Самое главное — базовые знания html, понимание работы сайтов в целом. Под каждую отдельную задачу пишется отдельный скрипт. Если сайт изменит свой дизайн, пишем новый алгоритм, старый не будет работать корректно.
Алгоритм
1. Изучаем структуру
2. Вычленяем нужные данные
3. Пишем алгоритм
4. Пишем интерфейс работы с алгоритмом
5. Упаковываем в приложение
Библиотеки
BeautifulSoup
Используем, когда с сайта нужна только конкретная информация. Никаких лишних движений, есть страница на ней информация. Для простых задач и как часть комплексных лучший выбор.
Selenium
Используем, когда пишем полноценный парсер с выбором данных, диапазоном и дополнительным функционалом. Отправка сообщений, вход в аккаунт, скачивание файлов, отправка различных запросов.
Использовать их можно в комплекте, Selenium делает действия на странице, BeautifulSoup ее анализирует.
Разберем некоторые аспекты парсинга сайтов.
Самое главное — базовые знания html, понимание работы сайтов в целом. Под каждую отдельную задачу пишется отдельный скрипт. Если сайт изменит свой дизайн, пишем новый алгоритм, старый не будет работать корректно.
Алгоритм
1. Изучаем структуру
2. Вычленяем нужные данные
3. Пишем алгоритм
4. Пишем интерфейс работы с алгоритмом
5. Упаковываем в приложение
Библиотеки
BeautifulSoup
Используем, когда с сайта нужна только конкретная информация. Никаких лишних движений, есть страница на ней информация. Для простых задач и как часть комплексных лучший выбор.
Selenium
Используем, когда пишем полноценный парсер с выбором данных, диапазоном и дополнительным функционалом. Отправка сообщений, вход в аккаунт, скачивание файлов, отправка различных запросов.
Использовать их можно в комплекте, Selenium делает действия на странице, BeautifulSoup ее анализирует.
Безопасный ввод и сохранение зашифрованных паролей в конфигах Linux: пишем скрипт на Python
https://habr.com/ru/company/macloud/blog/566748/
https://habr.com/ru/company/macloud/blog/566748/
Хабр
Безопасный ввод и сохранение зашифрованных паролей в конфигах Linux: пишем скрипт на Python
Как вывести свою систему на новый уровень безопасности с модулями python-gnupg и getpass4. Изображение : freeGraphicToday, via Pixabay. CC0. В условиях растущих требований к безопасности...
Работаем с атрибутами объектов
Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции:
По названиям можно понять, что первые три отвечают за получение, установку и удаление атрибута. А последний проверяет, существует ли атрибут с указанным названием у объекта или нет.
Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В
На практике использование подобного — довольно редкий случай, но иногда может сильно выручить, так что берите на вооружение.
#классы #атрибуты
Помимо привычного обращения к атрибутам объектов через точку, в Python есть 4 специальных функции:
getattr
, setattr
, delattr
и hasattr
.По названиям можно понять, что первые три отвечают за получение, установку и удаление атрибута. А последний проверяет, существует ли атрибут с указанным названием у объекта или нет.
Во всех функциях первыми двумя аргументами идут объект и название атрибута в виде строки. В
setattr
также нужно передать новое значение для атрибута.На практике использование подобного — довольно редкий случай, но иногда может сильно выручить, так что берите на вооружение.
#классы #атрибуты