Simple Python
78 subscribers
45 photos
1 file
10 links
Download Telegram
Генерация случайных данных

Пакет faker позволяет создавать случайные данные, которые затем можно использовать, например, для тестирования программ. К примеру методы name, address, job и email генерируют соответственно случайное несуществующее имя, адрес, должность и почту.

Разнообразие методов довольно широкое, с полным спектром можно ознакомиться в документации.

🐍 @SimplePython
Функция reduce

Модуль functools раскрывает функциональные возможности Python. Например, в нём есть интересная функция reduce, последовательно применяющая функцию-аргумент к элементам списка, возвращая при этом в итоге единичное значение.

В примере мы используем функцию для последовательного сложения элементов списка.

🐍 @SimplePython
Рисуем графики

Графическая библиотека plotly позволяет создавать интерактивные качественные графики в Python.

В сегодняшнем примере применим эту библиотеку чтобы построить простой линейный график.

Сначала нам нужен список с данными, которые мы хотим изобразить на графике. Это может быть, например, список или numpy массив:

data = [1, 1.3, 2.1, 4, 3.5, 7]

Далее метод fig = px.line(y=data) принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями.

Метод fig.show() откроет графическое окно с изображенным графиком.

Кроме этого plotly позволяет строить такие графики как:

— Точечные графики;

— Круговые диаграммы;

— Гистограммы;

— Тепловые карты;

— Пузырьковые диаграммы;

— И многие другие.

Больше подробно об этой библиотеке и способы ее применения: https://plotly.com/python/

🐍 @SimplePython #plotly
Обработка исключений

Исключения — это тип данных, который нужен для того, что бы сообщать нам об ошибках.

Существует базовое исключение BaseException от которого наследуются все остальные исключения.

В блоке try мы выполняем инструкцию, которая может породить исключение, а в блоке except мы ловим ошибки и делаем свои операции.

Стоит учесть, что мы можем делать бесконечное количество вложенных блоков.

Грамотным способом является вылавливать только те исключения, которые мы ожидаем.

🐍 @SimplePython #exceptions
Милых дам с 8 марта! ❤️🥰🥳
Вот вам тутор по случаю: https://tutorial.djangogirls.org/en/#django-girls-tutorial

🐍 @SimplePython #django #girls #8марта
Метод 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