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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Модуль python-markdown в Python.

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

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

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

🐍 Укус питона // 💬 Чат // #теория #модули #markdown
Что выведет этот код?
Anonymous Quiz
4%
False False
37%
True True
49%
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
45%
True False
55%
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)
33%
AttributeError
Модуль dataclass. Data-классы. Значения по умолчанию.

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

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы
Сравнение последовательностей произвольных типов.

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

Функция get_opcodes() класса SequenceMatcher() возвращает список инструкций для изменения первой последовательности, чтобы она соответствовала второй. Инструкции кодируются в виде пятиэлементных кортежей, включая строковую инструкцию и две пары индексов start и stop в последовательности, обозначаемые как i1, i2 и j1, j2.

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

🐍 Укус питона // 💬 Чат // #теория #модули #difflib #типы
Каков тип следующей переменной?
Anonymous Quiz
5%
list
31%
tuple
4%
array
59%
str
Модуль dataclass. Data-классы. Добавление дополнительного функционала.

Хотя data-классы предназначены прежде всего для хранения различных данных, но также в них можно определять поведение с помощью дополнительных функций:

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data #декораторы
Что выведет этот код?
Anonymous Quiz
18%
(‘Yellow’, 20, ‘Red’)
29%
TypeError
53%
Yellow