Сортировка словаря по значениям
Распространена практика использования словарей в качестве таблиц для хранения данных. Сортировка данных словаря по значениям ключей, а не самим ключам, нередко ставит в тупик. Задача решается довольно просто при помощи соответствующего аргумента функции сортировки.
#theory // just python
Распространена практика использования словарей в качестве таблиц для хранения данных. Сортировка данных словаря по значениям ключей, а не самим ключам, нередко ставит в тупик. Задача решается довольно просто при помощи соответствующего аргумента функции сортировки.
#theory // just python
Назначение переменных и функций по условию
Иногда элементы if настолько просты, что кажется излишним тратить на них строки. В этом случае имеет смысл применить тернарный оператор if/else.
#theory // just python
Иногда элементы if настолько просты, что кажется излишним тратить на них строки. В этом случае имеет смысл применить тернарный оператор if/else.
#theory // just python
Разность множеств
Разность двух множеств можно вычислить с помощью оператора вычитания ( - ) или метода
#theory // just python
Разность двух множеств можно вычислить с помощью оператора вычитания ( - ) или метода
intersection(). Допустим, есть два множества A и B , а разность равна A-B , что означает, что в результирующем множестве будет получен тот элемент из A , которого нет в множестве B .#theory // just python
Число в список цифр
Функция
#theory // just python
Функция
map() принимает желаемый тип выходных данных (в нашем случае это int, целые числа) и итерируемый объект (строку, список или кортеж), элементы которого можно превратить в элементы этого типа. После этого другая функция list() преобразует результат в список.#theory // just python
Модуль tqdm
Генерирует прогресс-бары, которые показывают продвижение по коду и оставшееся время его выполнения. Программа, которая долго работает, — «черный ящик» для разработчика: он не знает, зависла она или нет, на каком этапе выполнения сейчас находится. Tqdm помогает легко и быстро отслеживать ее состояние и получать больше информации. Информация о выполнении программы будет выводиться в консоль в удобном для разработчика виде.
#theory // just python
Генерирует прогресс-бары, которые показывают продвижение по коду и оставшееся время его выполнения. Программа, которая долго работает, — «черный ящик» для разработчика: он не знает, зависла она или нет, на каком этапе выполнения сейчас находится. Tqdm помогает легко и быстро отслеживать ее состояние и получать больше информации. Информация о выполнении программы будет выводиться в консоль в удобном для разработчика виде.
#theory // just python
re.match()
re.match() — поиск вхождения шаблона в начало строки. В качестве аргументов требуется передать сначала шаблон, а потом строку для проверки.
#theory // just python
re.match() — поиск вхождения шаблона в начало строки. В качестве аргументов требуется передать сначала шаблон, а потом строку для проверки.
#theory // just python
Объединение списков с помощью Zip
Функция
#theory // just python
Функция
zip() в Python – это встроенная функция, которая используется для объединения нескольких списков (или других итерируемых объектов) в один список кортежей, где каждый кортеж содержит элементы с одинаковыми индексами из каждого из исходных списков.#theory // just python
Создание объектов, поддерживающих выражение with
Можно самостоятельно реализовать механизм управления блокировками оператора
#theory // just python
Можно самостоятельно реализовать механизм управления блокировками оператора
with. Протокол управления контекстом исполнения реализуется с использованием методов __enter__ и __exit__.#theory // just python
Экономия памяти с помощью __slots__
Если вы когда-нибудь писали программы, которые создают по-настоящему большие количества экземпляров некоего класса, то вы могли заметить, что таким программам неожиданно может понадобиться очень много памяти. Происходит это из-за того, что Python использует словари для представления атрибутов экземпляров классов. Это хорошо сказывается на производительности, но, с точки зрения потребления памяти, это неэффективно. Обычно, правда, проблем эта особенность не вызывает. Однако если вы столкнулись в подобной ситуации с нехваткой памяти — можете попробовать воспользоваться атрибутом
#theory // just python
Если вы когда-нибудь писали программы, которые создают по-настоящему большие количества экземпляров некоего класса, то вы могли заметить, что таким программам неожиданно может понадобиться очень много памяти. Происходит это из-за того, что Python использует словари для представления атрибутов экземпляров классов. Это хорошо сказывается на производительности, но, с точки зрения потребления памяти, это неэффективно. Обычно, правда, проблем эта особенность не вызывает. Однако если вы столкнулись в подобной ситуации с нехваткой памяти — можете попробовать воспользоваться атрибутом
__slots__.#theory // just python
Модуль newspaper3k
Он даёт возможность извлекать статьи и связанные мета-данные из множества разных источников. Можно извлечь изображения, текст и имена авторов. В нём даже есть встроенная NLP-функциональность.
#modules // just python
Он даёт возможность извлекать статьи и связанные мета-данные из множества разных источников. Можно извлечь изображения, текст и имена авторов. В нём даже есть встроенная NLP-функциональность.
#modules // just python
Возврат нескольких значений
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
#theory // just python
Функции в Python могут возвращать более одной переменной без применения словаря, списка или класса.
#theory // just python
Ограничение использования процессора и памяти
Если вместо того, чтобы оптимизировать программу, или улучшить то, как она пользуется процессором, вам нужно просто задать жёсткое ограничение на доступные ей ресурсы, можно воспользоваться соответствующей библиотекой.
#theory // just python
Если вместо того, чтобы оптимизировать программу, или улучшить то, как она пользуется процессором, вам нужно просто задать жёсткое ограничение на доступные ей ресурсы, можно воспользоваться соответствующей библиотекой.
#theory // just python
Упрощение создания операторов сравнения
Декоратор
#theory // just python
Декоратор
functools.total_ordering используется здесь для упрощения процесса реализации упорядочения экземпляров класса. Для обеспечения его работы нужно лишь чтобы были объявлены операторы сравнения __lt__ и __eq__. Это — тот минимум, который нужен декоратору для конструирования остальных операторов сравнения.#theory // just python
Вывод импортированных модулей
При импорте модуля Python выполняет весь код в нём. При импорте пакета Python выполняет код в файле пакета init.py , если такой имеется. Все объекты, определённые в модуле или init.py , становятся доступны импортирующему.
#theory // just python
При импорте модуля Python выполняет весь код в нём. При импорте пакета Python выполняет код в файле пакета init.py , если такой имеется. Все объекты, определённые в модуле или init.py , становятся доступны импортирующему.
#theory // just python
Присоединение коллекции
Коллекции в Python делятся на последовательности, множества и отображения. Среди встроенных типов данных к первым относятся списки (тип данных list) и кортежи (tuple), ко вторым – обычные (изменяемые) и фиксированные множества (set и frozenset), к третьим – словари (dict). Для их присоединения используется разные методы, но в нашем случае мы работаем через .join().
#theory // just python
Коллекции в Python делятся на последовательности, множества и отображения. Среди встроенных типов данных к первым относятся списки (тип данных list) и кортежи (tuple), ко вторым – обычные (изменяемые) и фиксированные множества (set и frozenset), к третьим – словари (dict). Для их присоединения используется разные методы, но в нашем случае мы работаем через .join().
#theory // just python
Присвоение первого непустого значения из ряда
Следующая инструкция присвоит переменной X первый непустой (имеющий истинное значение) объект из множества объектов A, B и С или None, если все предыдущие объекты окажутся пустыми. В простейшем виде эту особенность используют для задания значения по умолчанию. Аналогичным образом логический оператор and можно применять для нахождения первого ложного значения.
#theory // just python
Следующая инструкция присвоит переменной X первый непустой (имеющий истинное значение) объект из множества объектов A, B и С или None, если все предыдущие объекты окажутся пустыми. В простейшем виде эту особенность используют для задания значения по умолчанию. Аналогичным образом логический оператор and можно применять для нахождения первого ложного значения.
#theory // just python
Распаковывание последовательностей при неизвестном числе элементов
Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все не присвоенные элементы, соответствующие этой позиции/
#theory // just python
Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все не присвоенные элементы, соответствующие этой позиции/
#theory // just python
Вывод значения по умолчанию для отсутствующего ключа словаря
Обращение к несуществующему ключу словаря вызывает исключение. Избежать этого можно, вызывая метод get. В указанном случае метод выдает None (по умолчанию) или заданное значение аргумента.
#theory // just python
Обращение к несуществующему ключу словаря вызывает исключение. Избежать этого можно, вызывая метод get. В указанном случае метод выдает None (по умолчанию) или заданное значение аргумента.
#theory // just python
Метод __missing__
При создании собственного типа данных на основе словарей обратите внимание на метод missing для возвращения аргумента при отсутствии ключа.
#theory // just python
При создании собственного типа данных на основе словарей обратите внимание на метод missing для возвращения аргумента при отсутствии ключа.
#theory // just python
Вывод при помощи print
Инструкция print является функцией, а значит, скобки могут включать дополнительные аргументы:
* строка sep (по умолчанию один пробел), вставляемая между объектами при выводе;
* строка end (по умолчанию \n), добавляемая в конец выводимого текста;
* file (по умолчанию sys.stdout) – любой объект, поддерживающий метод файлов write(string), то есть стандартный поток, файл и др.
Например, если нам не нужно объединять подстроки, а лишь напечатать суммарную строку.
#theory // just python
Инструкция print является функцией, а значит, скобки могут включать дополнительные аргументы:
* строка sep (по умолчанию один пробел), вставляемая между объектами при выводе;
* строка end (по умолчанию \n), добавляемая в конец выводимого текста;
* file (по умолчанию sys.stdout) – любой объект, поддерживающий метод файлов write(string), то есть стандартный поток, файл и др.
Например, если нам не нужно объединять подстроки, а лишь напечатать суммарную строку.
#theory // just python