PYTHON ONLINE
402 subscribers
1 photo
52 links
PYTHON для начинающих
Download Telegram
Numpy "Базовые операции"

В библиотеке Numpy весьма просто реализованы простейшие операции: сложение, вычитание, умножение и деление. Единственное, что для выполнения операций необходимо, чтобы массивы были одинаковыми.

Также, можно использовать фильтрации с помощью простейшего знака, то есть в массивах можно не перебирать через итератор filters, а просто поставить нужный знак.

А еще можно найти математические операции, такие как: синус, косинус и подобные.
Регулярные выражения.

Регулярные выражения (REGEX), представляют собой более гибкий способ нахождения подстрок в строках. В Python имеется встроенный модуль, который позволяет работать с регулярными выражениями, — re. Модуль re содержит функцию search, которая позволит вам найти подстроку.

При необходимости сложных сопоставлений, к примеру, учет регистра, данный метод подойдет вам лучше всего. При этом, у него имеются и недостатки, такие как: сложность и скорость работы. Поэтому в простеньких задачах его лучше не использовать.
Копируем объекты.

Стандартное присваивание не создает новый объект, а только копирует ссылку на имеющийся. При использовании copy.copy(), вы совершите поверхностное копирование, то есть будет создан новый объект, но его ссылки на другие объекты будут те же.

А вот если использовать copy.deepcopy(), то получатся "настоящие" копии объекта и всех его ссылок.
Как получить текущее имя пользователя в Python?

Модуль ОС в Python позволяет получить функции для взаимодействия с операционной системой. ОС входит в стандартные служебные модули Python. Данный модуль представляет собой портативный способ использования функций, зависящих от операционной системы.

А вот метод os.getlogin() в Python позволит вам получить имя пользователя, вошедшего в систему на управляющем терминале процесса.
Бесконечный итератор.

Функция cycle() из модуля itertools принимает на вход итерируемый объект и создает бесконечный итератор, который циклически возвращает элементы данного объекта.

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

Но при работе с циклом по такому итератору, важно предусмотреть выход из цикла, иначе цикл станет бесконечным.

Можно также воспользоваться islice(), который вернет итератор по подмножеству переданного объекта.
Метод Counter.most_common()

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

При этом, элементы с равным количеством будут упорядочены в порядке, в котором они встречаются первыми.
Как проверить четности или нечетности числа без использования оператора %

Данный трюк, по сути, не намного лучше, чем использование оператора %, но иногда он действительно эффективен (с большими числами).

К примеру:
k = 3
Двоичный: «11 & 1» будет 001, поэтому число нечетное
k = 4
Двоичный: «100 & 1» будет 000, поэтому число четное.
Наборы символов

В стандартной библиотеке можно найти множество интересных вещей. Сегодня мы с вами поговорим об одной из них.

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

Для поверки строк на анаграммность, (к примеру, в следствии случайной перестановки букв) можно использовать класс Counter модуля collections.
Метод geopy.

Иногда программистам сложно ориентироваться в географии. Для подобных ситуаций существует модуль geopy:

 pip install geopy

Его работа осуществляется путём абстрагирования API разных сервисов геокодирования. Так, данный модуль позволяет узнать полный адрес места, его долготу, широту и даже высоту.

Помимо этого, в нем имеется полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
Класс defaultdict

Данный класс модуля collections ни чем не отличается от обычного словаря, кроме того, что по умолчанию всегда вызывается функция, которая возвращает значение по умолчанию для новых значений, то есть класс defaultdict() представляет собой словарь со значениями по умолчанию.

Для более полного ознакомления с классом defaultdict можно перейти по ссылке → ТЫК ←.
Метод Counter.most_common()

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

При этом элементы с равным количеством будут упорядочены в порядке, в котором они встречаются первыми.
Конвертируем из JPG в PNG с помощью Pillow

Чтобы конвертировать, нам нужно открыть изображение и просто сохранить его в другом формате.

PNG-формат наиболее подходящий формат для фотографий, и при этом он позволяет сохранить лучшее качество снимков, чем JPG. Также PNG поддерживает прозрачность, поэтому это почти идеальный вариант для дизайнеров, которым нужны прозрачные элементы.
Выводим строку или список n раз.

Для этого можно использовать умножение (*) со строками или списками; умножать их можно любое количество раз.

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

С помощью методов remove() и pop() можно удалить только один элемент, а вот для удаления нескольких элементов используется метод del.

К примеру, из списка ['A', 'B', 'C', 'D', 'E', 'F'] нужно удалить элементы B, C и D. Как раз данная операция будет осуществляться с помощью del.
Как вставить одно изображение в другое с помощью Pillow?

Метод paste() из библиотеки Pillow, дает возможность вставить одно изображение в другое.

При этом, по умолчанию изображение вставляется в верхней левой части фоновой картинки.

Для получения более подробной информации можно перейти по ссылке → ТЫК ←.
Метод math.fsum.

Данный метод позволяет вернуть сумму всех элементов в любой итерации. Итерацией может быть кортеж, массив, список. Если итерируемый объект не является числом, то метод возвращает TypeError. Метод возвращает сумму всех значений в виде значения с плавающей запятой.
Конкатенация строк в Python с использованием функции join()

Можно использовать функцию join() для объединения строки с разделителем. Будет полезно при наличии последовательности строк, к примеру, список или кортеж строк.
Что быстрее, [] или list?

На данный вопрос поможет ответить timeit. Он используется при необходимости измерения скорости выполнения каких-либо задач.

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

Более полную информацию можно найти по ссылочке → ТЫК
Как подготовить объект к отправке на сервер?

Для начала нам нужно перевести объект в строку. К примеру, в JSON формат. Проще всего это сделать с помощью marshmallow.

Установка: pip install marshmallow

Так, нам не нужно будет добавлять convert_to_json() в каждый класс, а достаточно просто настроить схему (Schema) с полями (fields) от marshmallow.

Также, за счёт схем можно переводить строку обратно в объект за счёт той же самой схемы, что была создана ранее.

Но нужно помнить и про валидацию, с ней можно ознакомиться тут: → ТЫК ←.
Модули также являются объектами.

При необходимости мы можем получить свойства даже у модулей. У них есть имя (__name__), документация (__doc__) и файл, в котором он находится (__file__).

Также, помимо обычного import мы можем получить доступ к модулю, используя importlib.import_module() или __import__().