3.73K subscribers
478 photos
29 videos
35 files
343 links
Здесь есть всё, чтобы упростить вам изучение Python.
Download Telegram
Сокращаем условие

Если условие короткое, полезно сделать его более красивым и удобочитаемым. Используем тернарное выражение. Подойдет если в условии одна переменная, но применений у приема куда больше. Экспериментируйте!
Отсутствующие значения словаря

Определяя свой класс на основе слова мы можем определить поведение при отсутствии запрашиваемого элемента. В словарях в таких ситуациях выводится слово "None".

Директива missing определяет поведение класса при отсутствующем элементе словаря.
Сортируем словарь по значениям

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

Встроенная библиотека shutil позволяет проводить множество расширенных операций с файлами.

1. Архивирование
2. Копирование группы папок
3. Получение мета-информации
4. Статистика использования дисков
5. Изменение прав доступа к файлу

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

Документация и использование
Случайные числа

Часто при разработке приложения появляется необходимость в случайном числе. В Python есть встроенный модуль random имеющий ряд функций для работы со случайными числами.

Документация
Встроенный модуль pprint

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

Документация
Анимируем математические модели

Для Python есть замечательная библиотека Manim. Отлично подойдет для презентаций и визуального понимания работы тех или иных математических моделей.

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

GitHub
Проверка типа переменной

Функция isinstance(), проверяет тип для переменной, первый аргумент переменная, второй тип данных для проверки. На основе этого реализуем функцию проверки переменной на числовой тип данных.
Собираем строку воедино

Этот прием полезен, когда у нас много информации из разных источников. Например, показания приборов или статистика. Компонуем в один массив, а затем делаем красивый вывод.
Случайный элемент массива

Библиотека random годится не только для генерации случайных чисел, в ней также есть набор функций для множества случайных событий.

Одна из таких — функция choice, позволяющая выбрать случайный элемент итеррируемого объекта. Принимает в качестве аргумента объект последовательности.
Создание процессов

Класс Process из встроенного модуля multiprocessing позволяет создавать процессы без прямого вызова функции fork, про которую писали раньше на канале.

При создании экземпляра Proccess необходимо передать функцию, которую требуется исполнить в отдельном дочернем процессе и аргументы этой функции. Процесс будет создан после вызова метода start. Внутри метода start будет вызван fork и будет исполнена функция в отдельном процессе.

Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией join.
Функция super()

Функция super(), возвращает объект объект-посредник, который делегирует вызовы метода родительскому или родственному классу, указанного type типа. Это полезно для доступа к унаследованным методам, которые были переопределены в классе.
Сколько правил PEP8 нарушено при таком импорте библиотек?
Anonymous Quiz
16%
1
46%
2
32%
3
5%
4
Превью из длинного текста

Допустим, у нас есть какой-то длинный текст в виде строки и надо сделать превью этого текста, например, для сайта. Первое, что приходит на ум – использовать слайсинг строк.

Но, как видите, текст оборвался на полуслове, поэтому такой вариант отпадает. Такую проблему хорошо решает метод shorten из модуля textwrap.

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

Модуль diffflib, как следует из названия, может использоваться для поиска различий или «различий» между содержимым файлов или других хешируемых объектов Python. Его также можно использовать для определения соотношения, показывающего степень сходства между двумя объектами.

Вы можете сравнить два хешируемых типа или последовательности, используя класс «Differ», доступный в модуле diffflib.

На примере выше, оператор импортирует класс Differ из модуля difflib. Затем две переменные строкового типа определяются с некоторыми значениями. Затем создается новый экземпляр класса Differ как «d». Далее с помощью этого экземпляра вызывается метод «compare», чтобы найти разницу между строками «line1» и «line2». Эти строки предоставляются в качестве аргументов для метода сравнения.
Pop

Данный метод удаляет элемент в конкретно указанном индексе, а также выводит удалённый элемент. Если индекс не указан, метод по умолчанию удалит последний элемент
Упрощенный вывод данных

Он позволяет вывести строчный массив одной строкой, с разделением запятыми. Нам не нужно использовать .join() и циклы.
Ставим таймер в Windows

Разбирайте две утилитарные функции. Первая принимает в качестве аргумента время в секундах, спустя которое компьютер выключится. Вторая функция отменяет запланированное выключение.
Преобразование PNG в PDF

Для установки библиотеки img2pdf как всегда пользуемся менеджером pip — pip install img2pdf. Это пакет с открытым исходным кодом для преобразования изображений в формат pdf.