🐍 Укус питона 🐍
3.03K subscribers
555 photos
2 videos
271 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Модуль dataclass. Data-классы

Таким образом, мы уже сократили определение класса и сделали его более простым. Но генерацией метода init функциональность декоратора dataclass не ограничивается. В реальности data-класс будет аналогичен следующему, смотрим на первый пример:

В данном случае мы видим, что кроме функции init, также определяется функция repr() для возвращения строкового представления и функция eq() для сравнения двух объектов. Применение данных функций:

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data
Что выведет этот код?
Anonymous Quiz
42%
student[0][1]
53%
student[1]["age"]
6%
student[0]["age"]
Параметры декоратора dataclass

С помощью параметров декоратор dataclass позволяет сгенерировать дополнительный шаблонный код и вообще настроить генерацию кода, смотрим код:

Рассмотрим базовые параметры:

• init: если равно True, то генерируется функция init(). По умолчанию равно True
• repr: если равно True, то генерируется функция repr(), которая возвращает строковое представление объекта. По умолчанию равно True
• eq: если равно True, то генерируется функция eq(), которая сравнивает два объекта. По умолчанию равно True
• order: если равно True, то генерируются функции lt (операция <), le (<=), gt (>), ge (>=), которые применяются для упорядочивания объектов. По умолчанию равно False
• unsafe_hash: если равно True, то генерируется функция hash(), которая возвращает хеш объекта. По умолчанию равно False

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

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы
На этом языке пишут сайты, приложения, игры и чат-боты. Netflix, Spotify, Google, Dropbox и Youtube написаны на Python.

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

Короче, просто запишись на этот курс и попробуй сам – а потом поймёшь, по душе это тебе или нет.

🚨 Не тормози, кликай сюда
Что выведет этот код?
Anonymous Quiz
48%
{‘Yellow’, ‘Orange’, ‘Black’}
52%
KeyError: ‘Blue’
Модуль python-markdown в Python.

Модуль markdown представляет собой синтаксический анализатор разметки Markdown, написанный на языке Python. Он почти полностью соответствует эталонной реализация Markdown Джона Грубера, хотя есть несколько очень незначительных отличий.

Установка модуля markdown в виртуальное окружение, смотрим пример:

Прежде всего, проект Python-Markdown задуман как модуль библиотеки Python, используемый различными проектами для преобразования синтаксиса Markdown в HTML.

🐍 Укус питона // 💬 Чат // #теория #модули #markdown
Что выведет этот код?
Anonymous Quiz
4%
False False
38%
True True
48%
True False
10%
False True
Модуль python-markdown в Python

Пример простого преобразования разметки Markdown в HTML, смотрим код:

Проект Python-Markdown предоставляет две общедоступные функции markdown.markdown() и markdown.markdownFromFile()](#markdown.markdownFromFile), обе из которых обертывают открытый класс markdown.Markdown().

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

🐍 Укус питона // 💬 Чат // #теория #модули #markdown
Каков результат сравнения строк?
Anonymous Quiz
44%
True False
56%
False False
Модуль python-markdown в Python. Продолжение.

Функция markdown.markdown() преобразует разметку Markdown в разметку HTML.

Аргумент text - это исходная строка Юникода.

Python-Markdown ожидает ввода строки Unicode и возвращает вывод в виде строки Unicode. Модуль не принимает в качестве исходной строки байтовые строки! Пользователь несет ответственность за ее декодирование. Например:

Если необходимо записать вывод на диск, то нужно самим его перевести в требуемую кодировку, вторая часть кода:

🐍 Укус питона // 💬 Чат // #теория #модули #markdown
Параметры декоратора dataclass. Продолжение.

Применение параметров:

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

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы
Каков результат следующей операции над кортежем?
Anonymous Quiz
47%
(100, 200, 400, 500)
20%
(100, 300, 400, 500)
34%
AttributeError
Модуль dataclass. Data-классы. Значения по умолчанию.

При необходимости атрибутам можно присвоить значения по умолчанию, если в конструкторе им не передаются значения, смотрим пример:

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы