en
Feedback
🐍 Укус питона 🐍

🐍 Укус питона 🐍

Open in Telegram

🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки. 👽 Админ - @tg_adminisrator 🔊 Купить рекламу: https://telega.in/c/byteofpython 👉 Чат: @abyteofpython 👉 Поделиться с друзьями: @byteofpython

Show more
2 334
Subscribers
No data24 hours
-117 days
-3730 days
Posts Archive
Позиционные параметры В примерах из прошлых постов для определения атрибутов прописывалось их имя: case Person(name="Tom", ag
Позиционные параметры В примерах из прошлых постов для определения атрибутов прописывалось их имя: case Person(name="Tom", age=37). Но если используется куча шаблонов, и в каждом необходимо связать атрибуты объекта с некоторыми значениями или переменными, то постоянное упоминание атрибутов можно несколько раздуть код. Но Python также позволяет использовать позиционные параметры, смотрим код: Обратите внимание в классе Person на вызов функции. Благодаря этому Python будет знать, что при указании атрибутов атрибут name будет идти первым, а атрибут age - вторым. И таким образом, в шаблонов не нужно указывать имя атрибута: case Person("Tom", 37) - Python сам сопоставит атрибуты и значения/переменные на основе их позиции. 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #классы

Что выведет этот код?
Anonymous voting

19:00:20

Передача набора значений. Продолжение. Также можно задавать альтернативные значения для всего шаблона в том числе с помощью о
Передача набора значений. Продолжение. Также можно задавать альтернативные значения для всего шаблона в том числе с помощью объектов других классов: Здесь первый шаблон соответствует любому объекту Person, у которого атрибут name = "Tom, и любому объекту Student, у которого атрибут name = "Tomas". Второй шаблон - case Person(name=name) | Student(name=name) соответствует любому объекту Person и Student. 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #классы

Что выведет этот код?
Anonymous voting

Передача набора значений. Также с помощью вертикальной черты можно определить набор значений, которые должен иметь атрибут, с
Передача набора значений. Также с помощью вертикальной черты можно определить набор значений, которые должен иметь атрибут, смотрим код: В данном случае первый шаблон соответствует объекту Person, у которого атрибут name имеет одно из трех значений: "Tom", "Tomas" или "Tommy". 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #классы

Что выведет этот код?
Anonymous voting

Классы в pattern matching. Продолжение. Также мы можем применить паттерн _, если нам надо обработать случаи, которые не соотв
Классы в pattern matching. Продолжение. Также мы можем применить паттерн _, если нам надо обработать случаи, которые не соответствуют ни одному шаблону, смотрим код: В данном случае второй шаблон Person(name=person_name) соответствует любому объекту Person, при этом значение атрибута name передается переменной person_name А последний шаблон обрабатывает случаи, когда передано значение, которое не представляет объект Person. 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #классы

Что выведет этот код?
Anonymous voting

Классы в pattern matching. Продолжение. Второй шаблон строго задает значение только для атрибута age, первый пример: Для соот
Классы в pattern matching. Продолжение. Второй шаблон строго задает значение только для атрибута age, первый пример: Для соответствия этому шаблону атрибут age должен быть равен 37. А атрибут name может иметь произвольное значение. И это значение передается переменной name. А запись name=name расшифровывается как атрибут_объекта=переменная. А в вызове print(f"Name: {name}") на консоль выводится значение переменной name, которая получила значение атрибута name. В данном случае и атрибут, и переменная имеют одинаковое значение, но это необязательно, и для переменной можно было использовать другое значение, второй например: Третий шаблон соответствует объекту Person, у которого атрибут name равен строке "Tom". А значение атрибута age передается в переменную age, третья часть: И в последнем шаблоне атрибуты name и age могут иметь произвольные значения. И эти значения передаются одноименным переменным, последняя часть: 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #классы

Что выведет этот код?
Anonymous voting

Классы в pattern matching. Продолжение. Функция print_person принимает параметр Person, который, как предполагается, представ
Классы в pattern matching. Продолжение. Функция print_person принимает параметр Person, который, как предполагается, представляет объект класса Person. И внутри функции конструкция match сравнивает значение параметра person с рядом шаблонов. Каждый шаблон представляет собой определение Person, где с каждым атрибутом сопоставляется некоторое значение. Например, первый шаблон строго определяет значения обоих атрибутов, смотрим: Данный шаблон соответствует объекту Person, если у этого объекта атрибут name имеет значение "Tom", а атрибут age - значение 37. Стоит отметить, что этот шаблон - это НЕ вызов конструктора Person. Шаблон просто устанавливает, как атрибуты сопоставляются со значениями. 🐍 Укус питона // 💬 Чат // #теория #pattern_matching #классы

📌 Уже 25 декабря в 19:00 (мск) стартует наш бесплатный двухдневный онлайн-интенсив. Во время эфира вы научитесь писать код,
📌 Уже 25 декабря в 19:00 (мск) стартует наш бесплатный двухдневный онлайн-интенсив. Во время эфира вы научитесь писать код, запускать и поддерживать простого Telegram-бота. Познакомитесь с синтаксисом языка и увидите, как декомпозировать задачи по разработке. Приходите, чтобы пообщаться и поучиться у опытного разработчика, узнать всю правду и перспективы Python и получить полезные подарки для комфортного старта в разработку. 🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Python-разработчика. Также вас ждут бонусы на обучение на Хекслете и новогодние скидки! Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670

Что выведет этот код?
Anonymous voting