Разъяснивший Python – Telegram
Разъяснивший Python
7.62K subscribers
2.84K photos
40 videos
30 files
2.73K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
pathlib.Path.glob()

В Python метод Path.glob() из модуля pathlib используется для поиска файлов и директорий, соответствующих шаблону. Он мощнее, чем простое перечисление файлов, и поддерживает поиск с использованием подстановочных знаков.

Разъяснивший Python
Работа с файлами: Часть 2

Чтение файла:

read() — считывает весь файл как строку.
readline() — считывает одну строку.
readlines() — возвращает все строки файла в виде списка.

Запись в файл:

write() — записывает строку в файл.
writelines() — принимает список строк и записывает их в файл. При использовании режима "w" файл будет перезаписан, а "a" добавит данные в конец файла.

Разъяснивший Python
1
Атрибут __all__

Атрибут __all__ используется для контроля того, какие элементы модуля экспортируются при импорте с помощью from module import *.
Этот атрибут должен содержать список имен, которые будут экспортированы.

Если __all__ не определен, то при импорте будут экспортированы все имена, не начинающиеся с _.

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

Проще говоря, __all__ — это простой механизм контроля области видимости при импорте. Он помогает организовать чистый публичный интерфейс модуля.

Разъяснивший Python
Как индексируются списки в Python

Списки поддерживают порядок элементов.

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

Индексы в Python (и любом другом современном языке программирования) начинаются с 0 и увеличиваются для каждого элемента в списке.

Разъяснивший Python
👍1
Использование requirements.txt для управления зависимостями

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

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

Разъяснивший Python
Библиотека yt-dlp

yt-dlpэто библиотека и утилита командной строки для скачивания видео с YouTube и других сайтов.

Основные возможности и применение yt-dlp:
— Поддерживает скачивание видео, аудио, плейлистов, каналов и др с YouTube. Помимо этого работает с сотнями других сайтов — Vimeo, Facebook, ВКонтакте, TikTok и др. Позволяет скачивать контент практически отовсюду.
— Извлечение метаданных и обложек видео.
— Конвертация медиафайлов в другие форматы после скачивания.
— Поддержка прокси и лимитов скорости.
— Множество настроек для извлечения данных, именования файлов, пост-обработки и т.д.
— Удобная утилита командной строки и модуль Python для автоматизации.

Разъяснивший Python
Использование файла .env для управления конфигурациями

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

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

Разъяснивший Python
😱1
Использование оператора match для структурного паттерн-матчинга в Python 3.10

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

Разъяснивший Python
1
Работа с файлами: Часть 3

Функции seek() и tell() позволяют управлять положением указателя внутри файла. seek(offset, from_what) — устанавливает указатель в файл, где from_what=0 — от начала, 1 — от текущей позиции, 2 — от конца. tell() возвращает текущую позицию указателя.

Модуль os и pathlib предоставляют функции для работы с файловой системой, например, для проверки существования файлов или создания папок.

Для хранения сложных объектов Python, таких как словари и списки, часто используют формат JSON.

Разъяснивший Python
👍1
textwrap.dedent()

В Python метод textwrap.dedent() удаляет общие отступы из многострочного текста. Это полезно для упрощения форматирования строк, особенно в документации или больших блоках текста.

Разъяснивший Python
Masonite — мощный Python-фреймворк для веб-приложений

Masonite — это современный и простой в использовании фреймворк для создания веб-приложений. Он предлагает удобный API, поддержку архитектуры MVC и встроенные инструменты для миграций и тестирования.

Поддержка инверсии управления (IoC) для гибкого управления зависимостями.
Интеграция с популярными инструментами, такими как ORM Orator.
Удобная система маршрутизации и шаблонов.

Ссылочка на доку

Разъяснивший Python
Сортировка списков: Часть 1

Python предлагает два основных способа сортировки списков: метод sort() и функцию sorted(). Метод sort() сортирует список на месте и не возвращает новый список. Функция sorted() возвращает новый список, не изменяя оригинал.

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

Разъяснивший Python
Метакласс

Метакласс (metaclass) в Python — это класс, который определяет поведение других классов, которые являются его экземплярами. В некотором смысле метакласс можно рассматривать как «класс для классов». Он задает правила и ограничения для создания и работы классов.

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

Разъяснивший Python
zip_longest()

В Python функция zip_longest() из модуля itertools позволяет объединять итерируемые объекты разной длины, заполняя отсутствующие значения с помощью заполнителя (fillvalue). Это полезно для работы с несоответствующими наборами данных.

Разъяснивший Python
👍3
itertools.cycle

В Python функция itertools.cycle() создаёт бесконечный цикл по переданному итерируемому объекту. Это полезно для повторения элементов последовательности.

Разъяснивший Python
👍1
exceptions

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

В данном примере кода, операция x = 10 / 0 вызовет исключение ZeroDivisionError, так как нельзя делить на ноль. Однако благодаря конструкции try и except, программа не завершится с ошибкой. Вместо этого будет выведено сообщение «Произошла ошибка деления на ноль!».

Разъяснивший Python
👍2
Peewee — лёгкий ORM для Python

Peewee — это компактная и простая в использовании ORM-библиотека для работы с базами данных.

Она поддерживает SQLite, MySQL, PostgreSQL и предоставляет удобный API для работы с моделями, упрощая взаимодействие с базами данных.

Ссылочка на доку

Разъяснивший Python
Использование встроенного модуля logging для удобного логирования

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

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

Разъяснивший Python
Узнаем длину кода в файле с помощью Python

В данном коде мы открываем файл 'file.py' для чтения и считываем все его строки в переменную lines.

Затем мы используем генератор списка, чтобы посчитать только те строки кода, которые не пустые (`line.strip()`) и не начинаются с символа комментария (`not line.startswith('#')`). Количество таких строк сохраняем в переменную code_lines и выводим ее значение с помощью функции print.

Разъяснивший Python
Использование dataclasses для упрощения работы с данными

dataclass — это специальный декоратор в Python (доступный с версии 3.7), который автоматически создает методы, такие как init, repr, eq и другие, для классов, представляющих данные. Это позволяет сократить код и сделать его более читаемым.

Использование dataclass — это простой способ повысить эффективность разработки и сделать ваш код более чистым и понятным!

Разъяснивший Python
Сортировка списков: Часть 2

Чтобы отсортировать список в обратном порядке, нужно использовать параметр reverse=True. Это работает как для метода sort(), так и для функции sorted(). Использование метода sort() будет немного быстрее, так как он работает на месте, тогда как sorted() создаёт новый список, требуя больше памяти. Однако для задач, где важна неизменяемость исходных данных, sorted() предпочтителен.

Разъяснивший Python