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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Кортежи в 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
Пропуск элементов.

Если нам не важен какой-то элемент кортежа, то в шаблоне вместо конкретного значния или переменной можно указать шаблон _:

🐍 Укус питона // 💬 Чат // #теория #pattern_matching #кортежи
Каково значение x после завершения выполнения следующего вложенного цикла for?
Anonymous Quiz
24%
99
49%
90
27%
100