flattys

+74
с 2022

канал о программировании

22 подписчика
3 подписки
🖥PostgreSQL 16 изнутри
🖥PostgreSQL 16 изнутри
3
20 маст хев фрагментов кода на python
3

🖥sh: команды терминала прямо из кода

Порой применение стандартных библиотек os и subprocess превращается в головную боль для разработчика. Но есть удобная альтернатива – библиотека sh.

Она дает возможность вызвать программу, как если бы это была просто функция языка. Таким образом, можно автоматизировать процессы и задачи непосредственно из кода Python.

2
3

Анаграммы

Интересное применение класса Counter — это поиск анаграмм. Анаграмма — это слово или фраза, сформированные перестановкой букв другого слова или фразы.

Если объекты Counter двух строк эквивалентны, значит, они являются анаграммами.

🖥База данных на минималках

Встроенный модуль shelve позволяет сохранять и читать произвольные данные. Таким образом, можно сохранять любые Python объекты для дальнейшего использования.

Доступ к данным осуществляется с помощью ключей, как и в случае со словарями. А метод shelve.open поддерживает протокол контекстного менеджера, то есть можно не вызывать метод close.

В документации заявляют, что такая база данных является "надежной". Но учитывая, что shelve написан на pickle, его стоит использовать только в совсем маленьких проектах.

🖥Перегрузка операторов

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

Например, выше в классе Point мы определили str, который отвечает за то, как выводятся объекты класса на экран.

Для перегрузки оператора "+" нужно определить метод add. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.

📌Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.add(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы.

Сравнение двух наиболее популярных языков за последнее время

🖥 /🖥

1

🖥Объединение списка строк в одну строку

Метод join() объединяет список строк, заданный как аргумент, в одну строку. В нашем случае мы объединили их, используя в качестве разделителя запятую.

1

Cкачать картинку с сайта с помощью Python

📌В этом примере мы используем функцию get() из библиотеки requests для отправки GET-запроса на указанный URL. Затем мы проверяем статусный код ответа: если он равен 200, то картинка успешно загружена, и мы записываем ее содержимое в файл с расширением '.png'. Если же статусный код не равен 200, то возникла ошибка при загрузке.

2

Генераторные выражения и списковые включения.

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

Если вывести переменные, то видим, что значением переменной l является список, а переменная g хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.

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

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

2