guards или ограничения шаблонов
Guard или ограничения шаблонов позволяют установить дополнительные условия, которым должно соответсвовать выражение. Ограничение задается сразу после шаблона с помощью ключевого слова if, после которого идет условие ограничения:
Здесь первый шаблон соответствует любому объекту Person, у которого атрибут age меньше 18. Собственно часть if age < 18 и представляет ограничение. Соответственно, если у пользователя возраст меньше 18, то будет выводьтся одно сообщение, если больше 18, то другое.
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #guards #шаблоны
Guard или ограничения шаблонов позволяют установить дополнительные условия, которым должно соответсвовать выражение. Ограничение задается сразу после шаблона с помощью ключевого слова if, после которого идет условие ограничения:
Здесь первый шаблон соответствует любому объекту Person, у которого атрибут age меньше 18. Собственно часть if age < 18 и представляет ограничение. Соответственно, если у пользователя возраст меньше 18, то будет выводьтся одно сообщение, если больше 18, то другое.
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #guards #шаблоны
guards или ограничения шаблонов. Продолжение.
Подобным образом можно вводить дополнительные ограничения, первый пример:
Условия ограничений могут быть более сложными и составными по структуре, второй пример:
В данном случае функция получает кортеж data. Оба шаблона в конструкции match соответствуют двухэлементному кортежу. Но первый шаблон также применяет ограничение name == "admin" or age not in range(1, 101), в соответствии с которым первый элемент кортежа должен иметь значение "admin", а второй должен находиться вне диапазона 1-101.
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #guards #шаблоны
Подобным образом можно вводить дополнительные ограничения, первый пример:
Условия ограничений могут быть более сложными и составными по структуре, второй пример:
В данном случае функция получает кортеж data. Оба шаблона в конструкции match соответствуют двухэлементному кортежу. Но первый шаблон также применяет ограничение name == "admin" or age not in range(1, 101), в соответствии с которым первый элемент кортежа должен иметь значение "admin", а второй должен находиться вне диапазона 1-101.
🐍 Укус питона // 💬 Чат // #теория #pattern_matching #guards #шаблоны