Just Python
10.2K subscribers
4.4K photos
11 videos
4.38K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

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

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

РКН: clck.ru/3MnbSc
Download Telegram
Использование enumerate() для работы с индексами в цикле

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

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

#theory // Just Python
Множество (set) пожно использовать для удаления дубликатов из списка

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

#theory // Just Python
Использование списка списков (List Comprehensions) для создания двумерных массивов

Когда вам нужно создать двумерный массив (список списков) с инициализированными значениями, можно использовать мощные и лаконичные возможности списка списков в Python.

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

#theory // Just Python
Наследование в ООП

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

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

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

#theory // Just Python
Использование try/except для безопасного доступа к словарям

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

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

#theory // Just Python
Использование "словаря через .get()" для безопасного доступа к значениям

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

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

#theory // Just Python
Быстрое чтение файла и удаление пробелов с помощью strip()

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

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

#theory // Just Python
Использование try-except-else для безопасного выполнения кода с обработкой ошибок

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

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

#theory // Just Python
Использование множественного присваивания для обмена значениями переменных

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

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

#theory // Just Python
Использование срезов списка для инвертирования его порядка

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

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

#theory // Just Python
Создание списков с помощью списковых включений (list comprehensions)

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

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

#theory // Just Python
Использование any() & all() для проверки условий в списках

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

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

#theory // Just Python
Бесконечные итерации по списку с помощью itertools.cycle()

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

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

#theory // Just Python
Одновременная распаковка нескольких переменных

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

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

#theory // Just Python
Динамический импорт модулей с помощью __import__

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

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

#theory // Just Python
Использование оператора _ для игнорирования значений

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

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

#theory // Just Python
Быстрая смена значений двух переменных без временной переменной

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

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

#theory // Just Python
Использование выражений-генераторов для экономии памяти

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

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

#theory // Just Python
Использование functools.lru_cache для оптимизации производительности

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

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

#theory // Just Python
Использование virtualenv для изолированных окружений

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

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

#theory // Just Python