Разъяснивший Python
8.16K subscribers
2.44K photos
40 videos
30 files
2.29K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Модуль doctest

Модуль doctest — это легкий фреймворк для тестирования, который позволяет автоматизировать тестирование кода, используя его документацию. Модуль ищет в документации примеры кода, которые можно выполнить, и проверяет, соответствуют ли результаты ожидаемым.

Как использовать doctest?

Чтобы использовать doctest, необходимо импортировать его в свой код:

import doctest

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

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

Разъяснивший Python
Операторы Объединения: Самый Элегантный Способ Объединения словарей Python (ч.2)

В Python 3.9 были введены операторы объединения, которые сделали задачи объединения очень простыми

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

Разъяснивший Python
Работа с регистрами

Строки в Python имеют свойство регистра — прописные и строчные буквы считаются разными символами.

Для преобразования регистра используются методы строк:
str.upper() — преобразует строку к верхнему регистру.
str.lower() — преобразует строку к нижнему регистру.
str.swapcase() — меняет регистр каждого символа на противоположный.
str.capitalize() — делает первую букву заглавной, остальные строчными.

Регистр конкретного символа можно проверить в строке методами:
str.isupper() — проверка на заглавный регистр.
str.islower() — проверка на строчный регистр.

Регистр важно учитывать при сравнении строк на равенство.

Разъяснивший Python
👍1👌1
Класс Process

Process — это класс для создания и управления отдельными процессами из модуля multiprocessing.
Создание процесса выполняется конструктором Process, передавая целевую функцию и аргументы.

При создании процессов нужно учитывать:
— Ограничения на доступ к данным между процессами.
— Синхронизацию процессов при необходимости.

Разъяснивший Python
Подсказки по вводу: Сделайте ваши программы на Python безопасными для ввода

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

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

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

Chartify — это библиотека визуализации. Ее цель — максимально упростить создание диаграмм для специалистов по данным. Библиотека поставляется с удобным синтаксисом и логическим форматированием данных (в отличие от других инструментов). Для создания быстрых и красивых диаграмм требуется меньше времени. Сама библиотека была написана в Spotify labs.

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

Pillow является ответвлением Python Imaging Library. Эта библиотека подойдет для создания миниатюр, преобразования в различные форматы, наложения фильтров, вращения и отображения изображений и т.д. Pillow — идеальный вариант для пакетной обработки большого количества изображений.

Разъяснивший Python
struct.Struct()

Модуль struct позволяет преобразовывать между Python-значениями и C-структурами, представленными как объекты bytes. Компактные форматные строки описывают предполагаемые преобразования в/из Python-значений.

Синтаксис:
struct.Struct(format_string)


Аргументы:
format_string — строка формата, описывающая структуру.

Разъяснивший Python
Метод startswith()

Метод startswith() возвращает True, если строка начинается с указанного префикса (строки). Если нет, он возвращает False. При необходимости ты можешь задать начальную и конечную позиции, в которых нужно проверить префикс внутри строки.

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

Colorama помогает добавить цвета в терминал. Этот пакет отлично украшает Python-скрипты. Документация проста и понятна, почитать ее можно на странице Colorama в PyPI.

Если хотите, чтобы Colorama работала под Windows, то вначале вызовите colorama.init().

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

Что не так с нативным JSON-модулем в Python? Ничего! Более того, json в Python — это и есть simplejson. То есть Python берет версию simplejson и добавляет ее в каждый свой релиз. А в использовании simplejson есть свои преимущества, ведь он:
• поддерживается в большем количестве версий Python;
• обновляется чаще, чем стандартный модуль Python;
• содержит дополнительные части, написанные на С, из-за чего работает очень быстро.

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

Работать с JSON в Python — сплошное удовольствие, ведь он прекрасно отображается в Python-словаре. Кроме того, Python поставляется с собственной библиотекой для создания и анализа, или разбора, JSON. Для меня это одна из лучших функций в Python. Если мне нужно поработать с JSON, то я непременно выберу Python.

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

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

Разъяснивший Python
Функция reload()

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

Функция reload() принимает в качестве аргумента объект модуля. Этот объект должен быть ранее импортированным модулем.

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

Telethon — это библиотека Python, которая позволяет вам взаимодействовать с API Telegram. Вы можете отправлять, получать или ждать новых сообщений Telegram внутри вашего Python-приложения. Вы также можете отправлять файлы контакту или группе контактов.

В этом примере мы настраиваем автоматическое отправление файлов в группу.

*Для работы этого кода вам нужно только получить ID и хэш Telegram API (что можно сделать за несколько минут).

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

typing.Literal — это тип данных, который позволяет указать не просто какой-то тип вроде str, int или float, а конкретное значение этого типа.

Например, Literal[42] означает, что в качестве значения ожидается только 42. Важно, что проверяется не только равенство значения, но и его тип (например, нельзя будет использовать False, если ожидается 0).

Разъяснивший Python
Функция itertools.chain()

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

Например, код сверху объединяет две строки в одну.

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

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

Разъяснивший Python
Принцип открытости/закрытости (OCP)

Принцип открытости/закрытости (OCP) — один из основополагающих принципов объектно-ориентированного программирования (ООП), сформулированный Бертраном Мейером. Он гласит: Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.

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

Разъяснивший Python
Функция heapq.heapify()

Функция heapq.heapify() используется для преобразования списка в кучу (heap). Куча — это особая структура данных, представляющая собой полное бинарное дерево, в котором каждый родительский элемент меньше или равен своим дочерним элементам.

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