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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что выведет этот код?
Anonymous Quiz
6%
2, 1, 0
14%
2, 1, 0, -1, -2, -3, -4, -5
80%
2, 1, 0, -1, -2, -3, -4
Округление чисел. Продолжение.

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

• ROUND_HALF_UP: округляет число в сторону повышения, если после него идет число 5 или выше

• ROUND_HALF_DOWN: округляет число в сторону повышения, если после него идет число больше 5, смотрим пример:

• ROUND_05UP: округляет 0 до единицы, если после него идет число 5 и выше, второй пример:

• ROUND_CEILING: округляет число в большую сторону вне зависимости от того, какое число идет после него, третий пример:

• ROUND_FLOOR: не округляет число вне зависимости от того, какое число идет после него, последний пример:

🐍 Укус питона // 💬 Чат // #теория #модули #decimal #quantize
Что выведет этот код?
Anonymous Quiz
52%
KeyError: ‘age’
48%
None
Модуль dataclass. Data-классы

Модуль dataclasses предоставляет декоратор dataclass, который позволяет создавать data-классы - подобные позволяют значительно сократить шаблонный код классов. Как правило, такие классы предназначены для хранения некоторого состояния, некоторых данных и когда не требуется какое-то поведение в виде функций.

Рассмотрим простейший пример:

Здесь определен класс Person, у которого в функции конструктора определены два атрибута: name и age. Далее создаем один объект этого класса и выводим значения его атрибутов на консоль.

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data
Выберите правильный способ очистки следующего словаря.
Anonymous Quiz
17%
del student
5%
del student[0:2]
79%
student.clear()
Модуль dataclass. Data-классы

Теперь изменим эту программу, сделав класс Person data-классом, смотрим код:

Для создания data-класса импортируем из модуля dataclasses декоратор dataclass и применяем его к классу Person. И в этом случае в самом классе нам уже не надо указывать конструктор - функцию init. Мы просто указываем атрибуты. А Python потом сам сгенерирует конструктор, в который также мы можем передать значения для атрибутов объекта.

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

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

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

🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data
Что выведет этот код?
Anonymous Quiz
41%
student[0][1]
53%
student[1]["age"]
5%
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
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