Just Python
11.2K subscribers
3.67K photos
11 videos
3.66K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Модуль пайтон который позволят получить резюме статьи

Gensim — отличный пакет Python для большого количества задач нейролингвистического программирования (НЛП). Он включает в себя довольно надежную функцию резюмирования, которой достаточно легко пользоваться. Она реализует разновидность алгоритма TextRank.

Для использования этой функции нам нужна лишь одна строчка кода.

#theory // Just Python
Обзор простых декораторов в Python

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

#theory // Just Python
Создание декоратора с аргументами

Здесь видно, что декоратор my_decorator не принимает никаких аргументов, во время декорирования функции, но имплементация этого декоратора принимает аргумент f, через который Python передает ссылку на декорированную функцию.

#theory // Just Python
Генераторы: простой способ создания итератора

Самый простой способ создания собственных итераторов в Python — это создание генератора.

В Python есть два способа создания генераторов.

#theory // Just Python
Отображение графиков Matplotlib

%matplotlib inline — это самая популярная магическая команда. Она позволяет отображать в блокнотах графики Matplotlib. Эта команда активирует интерактивную поддержку Matplotlib для блокнота Jupyter.

#theory // Just Python
Просмотр содержимого внешнего файла

Часто вам может понадобиться скопировать в свой код несколько строк кода из внешнего файла. Команда %pycat избавит вас от долгой процедуры извлечения определенных данных из файла и их копирования в другой файл. Она позволяет просматривать содержимое любого файла в любом каталоге.

#theory // Just Python
Время работы кода

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

Магическая команда time позволяет получить всю необходимую информацию о времени.

#theory // Just Python
F-строки

Сложно делать что-либо без строк в Python и чтобы сохранить адекватность, вам нужно иметь структурированный способ работы со строками. Большая часть людей, работающих с Python, предпочитают метод format python.

#theory // Just Python
Ограничение использования процессора и памяти (ч.1)

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

Тут показано ограничение процессорного времени и объёма памяти. Для того чтобы ограничить использование программой процессора, мы сначала получаем значения нежёсткого и жёсткого (hard) лимитов для конкретного ресурса (RLIMIT_CPU).

#theory // Just Python
Ограничение использования процессора и памяти (ч.2)

Затем мы устанавливаем лимит, используя некое число секунд, задаваемое аргументом seconds, и ранее полученное значение жёсткого лимита. После этого мы регистрируем обработчик signal, который, при превышении выделенного программе процессорного времени, инициирует процедуру выхода. В случае с памятью, мы, опять же, получаем значения для нежёсткого и жёсткого лимитов, после чего устанавливаем ограничение с помощью метода setrlimit, которому передаём размер ограничения (size) и ранее полученное значение жёсткого лимита.

#theory // Just Python
Итерируемые объекты

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

#theory // Just Python
Получение срезов итераторов

Воспользовавшись методом itertools.islice можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.

#theory // Just Python
Как делать отладку производительности Python (ч.1)

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

#theory // Just Python
Как делать отладку производительности Python (ч.2)

Что вы можете сделать, например, при обработке кодов в словаре, вы можете попробовать альтернативный метод диктовки элемента. Смущенный? Позвольте мне объяснить это. Вы можете просто выбрать опцию, чтобы добавить элемент напрямую, а затем проверить, существуют ли вставленные элементы или их нужно обновить. Таким образом, при этом вам не нужно проверять каждый элемент на соответствие ему, а затем обновлять его, что замедляет работу приложения.

#theory // Just Python
Функция reversed() на списке

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

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

#theory // Just Python
Функция enumerate()

Функция enumerate() добавляет счетчик в итерируемый объект, в котором используется метод iter , возвращающий итератор. Он может принимать последовательные значения индекса, начиная с нуля.

#theory // Just Python
Упрощение создания операторов сравнения

Декоратор functools.total_ordering используется здесь для упрощения процесса реализации упорядочения экземпляров класса. Для обеспечения его работы нужно лишь чтобы были объявлены операторы сравнения lt и eq. Это — тот минимум, который нужен декоратору для конструирования остальных операторов сравнения.

#theory // Just Python
Операторы сравнения

Существует немало операторов сравнения. Например — lt, le, gt, ge. Мало кому понравится перспектива их реализации для некоего класса. Можно ли как-то упростить эту скучную задачу? Да, можно — с помощь декоратора functools.total_ordering

#theory // Just Python
Функция __slots

Если вы когда-нибудь писали программы, которые создают по-настоящему большие количества экземпляров некоего класса, то вы могли заметить, что таким программам неожиданно может понадобиться очень много памяти. Происходит это из-за того, что Python использует словари для представления атрибутов экземпляров классов.

#theory // Just Python
Итерация по Списку в Python С Помощью Метода Enumerate

Если вы не знаете, что именно enumerate делает в python, то позвольте мне объяснить вам.Метод enumerate() добавляет счетчик к итерируемому объекту и возвращает его. И что бы ни возвращал метод enumerate, это будет объект enumerate.

Основное преимущество использования метода enumerate заключается в том, что вы можете преобразовать объекты enumerate в list и tuple с помощью методов list() и tuple() соответственно.

#theory // Just Python