Senior Python Developer
43.6K subscribers
2.09K photos
4 videos
1 file
526 links
№ 4931117861
Публикуем интересные/полезные фичи/библиотеки языка.

По вопросам сотрудничества: @adv_and_pr

Канал на бирже:
https://telega.in/c/seniorpy
Download Telegram
Ошибка отступа (IndentationError)

Эта ошибка похожа по духу на синтаксическую и является ее подвидом. Тем не менее она возникает только в случае проблем с отступами.
Скачиваем HTML-код страницы с помощью Python

С помощью следующего фрагмента кода мы можем с легкостью получить HTML-код страницы в интеренете.
Хэширование

Хэш — это целое число фиксированного размера, которое идентифицирует определенное значение. Каждое уникальное значение должно иметь свой собственный хэш.

Для хэширования значений есть встроенная (её не надо устанавливать или импортировать) функция hash(). Используется в основном для сравнения разных объектов — сравнивать хэши легче и выгоднее.

Однако изменяемые объекты по типу списков и словарей нельзя хэшировать — интерпретатор выдаст ошибку.

Кстати, есть две пасхалки. Хэш бесконечности равен первым цифрам числа Пи, а хэш Not a Number равен нулю.

А ещё бывают коллизии: например, хэши чисел -1 и -2 одинаковы.
#вопросы_с_собеседований
Какие нюансы есть в использовании чисел как ключей?

Числовые ключи в словарях подчиняются правилам сравнения чисел. Таким образом, int(1) и float(1.0) считаются одинаковым ключом. Однако из-за того, что значения типа float сохраняются приближенно, не рекомендуется использовать их в качестве ключей.
Как выполняется обработка исключений в Python?

Для обработки исключений Python предоставляет конструкцию из трех слов: try, except и finally.

Синтаксис выглядит примерно так:
try:
# попробовать сделать это
except:
# если блок try не сработал, попробовать это
finally:
# всегда делать это


На картинке представлен упрощенный пример такой конструкции. Здесь блок try терпит неудачу, поскольку мы не можем складывать целые числа со строками. Блок except устанавливает val = 10, а затем блок finally выводит complete.
Сортировка данных CSV файла на Python 🐍

В этом коде мы открываем файл input.csv, считываем его содержимое в список data, сортируем список по первому столбцу и записываем отсортированные данные в новый файл output.csv.
Скачиваем HTML-код страницы с помощью Python

С помощью следующего фрагмента кода мы можем с легкостью получить HTML-код страницы в интернете.
Метод partition()

Метод partition() разбивает строку по заданной подстроке. После этого результат возвращается в виде кортежа. При этом подстрока, по которой осуществлялась разбивка, тоже входит в кортеж.
Форматируемые шаблоны строк

Модуль string из стандартной библиотеки содержит интересный класс Template, который позволяет вполне удобно создавать шаблоны строк для дальнейшего форматирования.

Такой способ появился ещё в Python 2.4, как замена %-форматированию, но популярным так и не стал. Поддерживает передачу значений по имени и использует $-синтаксис как в PHP.
Оператор continue

Оператор continue в Python используется для перевода управления программой в начало цикла. Он пропускает оставшиеся строки кода внутри цикла и запускает следующую итерацию.

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

Обратите внимание на вывод приведенного выше кода, значение 2 пропущено, потому что мы предоставили условие if с помощью оператора continue в цикле for. Когда он соответствует заданному условию, тогда управление передается в начало цикла for, и оно пропускает значение 2 из кода.
Календарь в Python

Существует замечательный встроенный модуль calendar, позволяющий работать с датами. Некоторые возможности, такие как проверка, високосный ли год, показаны на картинке. Для углубления в работу с модулем можно ознакомиться с документацией.
Функция cv2.blur()

Вы можете размыть изображение в Python с помощью функции OpenCV cv2.blur().

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

Ознакомиться подробнее можно здесь.
Как хостить телеграм-бота (и другие скрипты на Python) бесплатно 24/7

Цель этот статьи - подробная инструкция, как сделать хостинг Python-скриптов бесплатно и доступным 24/7 на примере телеграм-бота.

Смотреть статью
Зачеркиваем строку

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

Если вам нужно выполнить код, содержащийся в другом файле, вы можете использовать встроенную функцию exec.
Находим общие ключи в двух словарях

В этом примере мы используем метод keys() для получения наборов ключей из словарей dict1 и dict2, а затем применяем оператор & для нахождения общих ключей.

Обратите внимание, что как множества, так и словари не сохраняют порядок элементов/ключей, поэтому порядок результатов может быть произвольным.
Перебираем все возможные 8 значные пароли состоящие из букв и цифр с помощью Python

В этом примере используется модуль itertools, который позволяет генерировать все возможные комбинации символов из списка characters длиной password_length. Затем перебираются все комбинации и выводятся на экран.

Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в characters большое. Будьте осторожны и убедитесь, что ваше намерение соответствует законам и этическим правилам.
Удаление дубликатов в словаре

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

Поскольку кортежи могут быть хешированы, вы можете удалить дубликаты с помощью set(используя здесь понимание множества , более старой альтернативой Python будет set(tuple(d.items()) for d in l)) и после этого заново создать словари из кортежей с помощью dict.

Более развернутый ответ можно найти здесь.
Усыпляем программу

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

В нашем примере время начала и время окончания будут напечатаны с задержкой в ​​6 секунд.
argparse

Библиотека argparse является стандартным инструментом для обработки аргументов командной строки в Python. Она позволяет легко определить и обработать аргументы, передаваемые программе при запуске из командной строки.

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

Pymorphy2 — это библиотека для морфологического анализа слов русского языка.
С помощью Pymorphy2 можно определить различные грамматические характеристики слова (род, число, падеж, время и т. д.), а также получить его нормальную форму (лемму).

В этом примере мы создаем экземпляр объекта MorphAnalyzer и анализируем слово "котик". Затем мы используем метод parse, чтобы получить различные грамматические характеристики слова, и выводим его форму в родительном падеже единственного числа с помощью метода inflect. Результат выводится в консоль.