Simple Python
78 subscribers
45 photos
1 file
10 links
Download Telegram
Метод get у словарей

У словарей есть метод get, который возвращает значение по переданному ключу.

Если такого ключа в словаре нет, исключение не выбрасывается, а возвращается значение по умолчанию, которое передаётся вторым аргументом, или же None, если второй аргумент не передан.

В примере мы не передаём второй аргумент, и в переменную name попадает None. Полезнее было бы передать ещё какую-нибудь строку в метод get, и она бы подставилась в name.

🐍 @SimplePython #dict
Функция map

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

На картинке map() применяет простую лямбда-функцию на каждом элементе x и возвращает map-объект, который можно преобразовать в итерируемый объект, например кортеж или список.

🐍 @SimplePython #map
Запись видео с камеры

В следующем примере мы передали индекс, как 0 классу VideoCapture. Это вызовет основную и единственную камеру, подключенную к этому компьютеру, то есть веб-камеру.

🐍 @SimplePython #cv2
Нахождение наиболее частых элементов списка

Если необходимо найти несколько наиболее часто повторяющихся значений, лучше воспользоваться счетчиком Counter из библиотеки collections.

Метод Counter.most_common(x) возвращает x кортежей, в которых первое значение – элемент, а второе – количество его повторений.

🐍 @SimplePython #collections #counter
Создание словаря из набора ключей

Для создания словаря из известного набора ключей и одинаковых значений часто используют генераторы словарей (dict comprehensions).

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

🐍 @SimplePython #dict
Функция zip

Функция zip создаёт итератор, который комбинирует элементы нескольких списков. Это позволяет осуществлять параллельный обход списков в циклах for или, например, выполнять параллельную сортировку.

🐍 @SimplePython #функции #zip
Превращаем PDF в текст

Думаю, все периодически работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу.

Модуль pdftotext создан именно для работы с документами в PDF формате. Устанавливается он через пакетный менеджер pip, а использовать его проще простого. Все основные операции представлены на картинке выше.

Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями.

🐍 @SimplePython #pdf #pdftotext
Ищем опечатки

Пакет spellchecker позволяет отыскать ошибки в тексте, а также может предложить варианты исправлений. В примере проходимся по списку из двух слов, из которых одно ('therre') написано с опечаткой. Функция correction замечает это и предлагает одно самое вероятное исправление, а candidates — несколько.

Пакет поддерживает шесть языков.

🐍 @SimplePython #spellchecker
Символы Юникода

Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям.

Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно.

🐍 @SimplePython #strings #unicode
Получаем и задаем лимит рекурсии

В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов.

Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти.

И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете.

🐍 @SimplePython #recursion #limits
Метод items()

Метод Dictionary items() возвращает итератор типа dict_items. Вы можете перебирать каждый ключ:значение в словаре. Также тип dict_items поддерживает динамическое обновление словаря.

🐍 @SimplePython #items #dict
😂
😁1
Библиотека Progressbar

Да, да, эта библиотека делает именно то, о чём вы подумали — выводит прогрессбар.

🐍 @SimplePython #progressbar
👍2🔥1
3D визуализация на Python

Vpython — относительно простая библиотека для демонстрации физических явлений. В примере создаём вращающийся куб.

В начале программы создаём сам куб, задавая параметры, сохраняем его в переменную, а затем для вращения создаём бесконечный цикл. Документация:
https://www.glowscript.org/docs/VPythonDocs/index.html

🐍 @SimplePython #vpython #3d
🔥2👍1
Метод str.endswith()

Метод str.endswith() возвращает True, если строка str заканчивается указанным суффиксом suffix, в противном случае возвращает False.

Параметры:
suffix - объект поддерживающий итерацию (кортеж, символ или подстрока).
start - int, индекс начала поиска, по умолчанию 0, необязательно.
end - int, индекс конца поиска, по умолчанию len(str), необязательно.

🐍 @SimplePython #str #endswith
Изменение размера изображения

Чтобы изменить размер изображения с помощью Pillow, вы можете использовать метод resize() класса PIL.Image.Image.

В следующем примере мы прочитаем изображение и изменим его размер до (200, 200).

🐍 @SimplePython #PIL #image
pass

Оператор используется в качестве заглушки, в местах программы, где ничего не происходит. В примере на картинке есть цикл и функция, которые ничего не делают, и конструкция try-except, при возникновении ошибки в которой ничего не происходит.

🐍 @SimplePython #pass
Сборка словаря

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

🐍 @SimplePython #list #dict
👍1
Разница между двумя массивами

Выше представлена функция, которая возвращает разницу между двумя массивами. Создает set из b и сохраняет только те значения, которые не содержатся в b.

🐍 @SimplePython #dict #differ
👍1
Метод Counter.most_common()

Возвращает список из n наиболее распространенных элементов и их количество от наиболее распространенных до наименее. Если n опущено или None, метод cnt.most_common() возвращает все элементы в счетчике.

Элементы с равным количеством упорядочены в порядке, в котором они встречаются первыми.

🐍 @SimplePython #Counter #most_common
👍2