EasyPython🐍
69 subscribers
590 photos
4 links
Примеры и по Python, которые упростят вам жизнь.
Download Telegram
Наследование

Нередко в процессе написания кода выясняется, что некоторые объекты аналогичны другим за исключением нескольких различий. Определение сходств и различий между такими объектами называется "наследованием".

Мы все прекрасно знаем, что котики, к примеру, любят всё ронять, а собакены — рыть землю. Создадим два соответствующих класса-наследника.

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

В будущем вы довольно часто будете сталкиваться с таким понятием, как «закомментированный код«. Это практика добавления символа # в начале вашего кода. Таким образом, можно на всякий случай убрать какой-то кусок кода, сделав его на данный момент нерабочим.
Использование try/except для безопасного доступа к словарям

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

Использование try/except делает код более надёжным и защищает от сбоев, вызванных отсутствием ключей в словарях, что упрощает работу с динамическими и неопределёнными данными.
Использование функции enumerate() для нумерации элементов в цикле

Когда вам нужно итерировать по списку и одновременно отслеживать индекс каждого элемента, использование функции enumerate() упрощает эту задачу, избавляя от необходимости вручную управлять счётчиком.

Использование enumerate() улучшает читаемость кода и упрощает работу с индексами при итерации по спискам, что особенно полезно при обработке больших данных или сложных списков.
Генераторы: простой способ создания итератора

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

В Python есть два способа создания генераторов.
Использование f-строк для форматирования строк

Когда вам нужно вставить переменные или выражения в строки, f-строки (форматированные строки) позволяют сделать это быстро, удобно и читаемо.

Использование f-строк делает код более понятным и снижает вероятность ошибок, связанных с форматированием строк, обеспечивая удобство и лаконичность.
Использование функции zip() для одновременной итерации по нескольким спискам

Когда вам нужно итерировать сразу по нескольким спискам параллельно, функция zip() позволяет делать это легко и эффективно.

Использование zip() делает код более лаконичным и понятным, а также упрощает работу с множеством списков, особенно при параллельной обработке их элементов.
Naive

В методе Naive цикл for используется для обхода второго списка. После этого элементы из второго списка добавляются к первому списку. Первый список является объединением первого и второго списков.
Создание декоратора с аргументами

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

Когда вам нужно создавать и заполнять словарь с значениями по умолчанию, класс defaultdict из модуля collections помогает сделать это без лишних проверок.
Использование Counter для быстрого подсчета элементов в списке

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

Использование Counter позволяет легко и быстро подсчитывать вхождения элементов, делая ваш код более эффективным и понятным.
Использование any() и all() для проверки условий в списках

Когда вам нужно проверить, выполняются ли все или хотя бы одно условие для элементов в списке, функции any() и all() помогают сделать это быстро и лаконично.

Использование any() и all() делает код более читаемым и позволяет легко проверять условия для элементов коллекций без написания сложных циклов.
Использование try/except для безопасного доступа к словарям

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

Использование try/except делает код более надёжным и защищает от сбоев, вызванных отсутствием ключей в словарях, что упрощает работу с динамическими и неопределёнными данными.
Быстрое чтение файла и удаление пробелов с помощью strip()

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

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

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

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

Использование try-except-else позволяет делать код более устойчивым к ошибкам, обеспечивая выполнение дополнительной логики только при успешном выполнении основного кода.
Использование enumerate() для итерации по списку с индексами

Когда вам нужно одновременно получать и элементы списка, и их индексы в цикле, функция enumerate() делает это простым и элегантным способом.

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

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

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

Когда вам нужно развернуть список в обратном порядке, можно использовать срезы (slicing) для быстрого и эффективного решения.

Использование срезов для инвертирования списка позволяет писать код более лаконично и эффективно, избегая необходимости в создании новых списков вручную или использования дополнительных функций.
Использование zip() для объединения нескольких списков

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