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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
💎 PyLinux - канал для Python программистов и фанов Linux.

👉 Там ты найдешь:

- библиотеки и скрипты Python
- инструменты и лучшие практики Linux
- полезный софт
- важнейшие новости из мира IT

💪 Заходи и прокачивай свои скиллы вместе с PyLinux!
Pattern matching. Конструкция match. Продолжение.

Подобным образом можно сравнивать выражения с данными других типов. Например:

Здесь функция operation принимает два числа и код операции. Конструкция match сравнивает код операции с конкретными значениями и в зависимости от значения выполняет на числами определенную операцию. Например, если code равен 1, то выполняется выражение, второй пример:

это выражение case возвратит из функцию сумму чисел a и b.

Аналогично если code = 2, то возвращается разность, а если code = 3, то возвращается произведение чисел. Во всех остальных случаях возвращается 0.

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #конструкции #match
Кортежи в pattern matching.

В качестве шаблонов в pathern matching в Python могут выступать кортежи. Например:

В данном случае функция принимает параметр user, который, как предполагается, представляет кортеж из двух элементов. И конструкция match сравнивает этот кортеж с рядом шаблонов. Первый шаблон предполагает, что кортеж user точно соответствует набору значений, вторая маленькая часть кода:

То есть, если первый элемент кортежа равен "Tom", а второй - 37, то на консоль выводится строка "default user"

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Кортежи в pattern matching. Продолжение.

Второй шаблон соответствует любому двухэлементному кортежу, первый элемент которого равен строке "Tom":

Для второго элемента определяется переменная age. В итоге, если первый элемент кортежа равен строке "Tom", а второй не равен 37, то такой кортеж будет соответствовать второму шаблону. Причем второй элемент будет передаваться переменной age.

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Кортежи в pattern matching. Продолжение.

Третий шаблон во многом аналогичен, только теперь строго определен второй элемент кортежа - он должен быть равен 22, а первый попадает в переменную name:

Если двухэлементный кортеж не соответствует первому, второму и третьему шаблонам, то он будет соответствовать четвертому шаблону, в которому нам не важные конкретные значения - для них определены переменные name и age:

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Что выведет этот код?
Anonymous Quiz
23%
5
37%
6
39%
7
Альтернативные значения.

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

В данном случае первый шаблон соответствует двухэлементному кортежу, где первый элемент равен или "Tom", или "Tomas", или "Tommy".

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
🔥ChatGPT теперь в телеграм!

Для всех, кто устал сёрчить Хабр, рыться в куче непроверенной информации появился канал, который ведет ChatGPT: ищет новости, связанные с IT и публикует их в сжатом виде.

❗️Не потеряй ссылку - https://t.me/+Tci9SwJcPlg1ZWI6
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет этот код?
Anonymous Quiz
6%
False False
35%
True True
51%
True False
8%
False True
Альтернативные значения. Продолжение.

Также можно задать альтернативные значения для отдельных элементов, но и альтернативные кортежи:

В данном случае первый шаблон будет соответствовать двум кортежам: ("Tom", 37) и ("Sam", 22).

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Регистрируйтесь по ссылке: https://telega.in/c/byteofpython
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.
Что выведет этот код?
Anonymous Quiz
6%
0
9%
4
19%
2
66%
3