Что выведет этот код?
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
Данное поведение при округлении, возможно, не всем покажется желательным, и в этом случае его можно переопределить, использовав одну из следующих констант:
• ROUND_HALF_UP: округляет число в сторону повышения, если после него идет число 5 или выше
• ROUND_HALF_DOWN: округляет число в сторону повышения, если после него идет число больше 5, смотрим пример:
• ROUND_05UP: округляет 0 до единицы, если после него идет число 5 и выше, второй пример:
• ROUND_CEILING: округляет число в большую сторону вне зависимости от того, какое число идет после него, третий пример:
• ROUND_FLOOR: не округляет число вне зависимости от того, какое число идет после него, последний пример:
🐍 Укус питона // 💬 Чат // #теория #модули #decimal #quantize
Модуль dataclass. Data-классы
Модуль dataclasses предоставляет декоратор dataclass, который позволяет создавать data-классы - подобные позволяют значительно сократить шаблонный код классов. Как правило, такие классы предназначены для хранения некоторого состояния, некоторых данных и когда не требуется какое-то поведение в виде функций.
Рассмотрим простейший пример:
Здесь определен класс Person, у которого в функции конструктора определены два атрибута: name и age. Далее создаем один объект этого класса и выводим значения его атрибутов на консоль.
🐍 Укус питона // 💬 Чат // #теория #модули #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
Теперь изменим эту программу, сделав класс Person data-классом, смотрим код:
Для создания data-класса импортируем из модуля dataclasses декоратор dataclass и применяем его к классу Person. И в этом случае в самом классе нам уже не надо указывать конструктор - функцию init. Мы просто указываем атрибуты. А Python потом сам сгенерирует конструктор, в который также мы можем передать значения для атрибутов объекта.
🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data
Что выведет этот код?
Anonymous Quiz
16%
[ (‘first’, 100), (‘second’, 200), (‘third’, 300) ]
23%
Options: SyntaxError: неверный синтаксис.
60%
{‘first’: 1, ‘second’: 2, ‘third’: 3}
Модуль dataclass. Data-классы
Таким образом, мы уже сократили определение класса и сделали его более простым. Но генерацией метода init функциональность декоратора dataclass не ограничивается. В реальности data-класс будет аналогичен следующему, смотрим на первый пример:
В данном случае мы видим, что кроме функции init, также определяется функция repr() для возвращения строкового представления и функция eq() для сравнения двух объектов. Применение данных функций:
🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data
Таким образом, мы уже сократили определение класса и сделали его более простым. Но генерацией метода init функциональность декоратора dataclass не ограничивается. В реальности data-класс будет аналогичен следующему, смотрим на первый пример:
В данном случае мы видим, что кроме функции init, также определяется функция repr() для возвращения строкового представления и функция eq() для сравнения двух объектов. Применение данных функций:
🐍 Укус питона // 💬 Чат // #теория #модули #dataclass #data
Параметры декоратора 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 #декораторы
С помощью параметров декоратор 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.
И если ты хочешь создать свою медиа-империю, то без этого языка программирования не обойтись. В конце концов, ты должен знать, что там у тебя делают программисты.
Короче, просто запишись на этот курс и попробуй сам – а потом поймёшь, по душе это тебе или нет.
🚨 Не тормози, кликай сюда
И если ты хочешь создать свою медиа-империю, то без этого языка программирования не обойтись. В конце концов, ты должен знать, что там у тебя делают программисты.
Короче, просто запишись на этот курс и попробуй сам – а потом поймёшь, по душе это тебе или нет.
🚨 Не тормози, кликай сюда
Модуль python-markdown в Python.
Модуль markdown представляет собой синтаксический анализатор разметки Markdown, написанный на языке Python. Он почти полностью соответствует эталонной реализация Markdown Джона Грубера, хотя есть несколько очень незначительных отличий.
Установка модуля markdown в виртуальное окружение, смотрим пример:
Прежде всего, проект Python-Markdown задуман как модуль библиотеки Python, используемый различными проектами для преобразования синтаксиса Markdown в HTML.
🐍 Укус питона // 💬 Чат // #теория #модули #markdown
Модуль markdown представляет собой синтаксический анализатор разметки Markdown, написанный на языке Python. Он почти полностью соответствует эталонной реализация Markdown Джона Грубера, хотя есть несколько очень незначительных отличий.
Установка модуля markdown в виртуальное окружение, смотрим пример:
Прежде всего, проект Python-Markdown задуман как модуль библиотеки Python, используемый различными проектами для преобразования синтаксиса Markdown в HTML.
🐍 Укус питона // 💬 Чат // #теория #модули #markdown