🐍 Укус питона 🐍
2.89K subscribers
767 photos
4 videos
279 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