Zen of Python
20.1K subscribers
1.16K photos
157 videos
32 files
3.09K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
April 22
Pattern Matching в Python 3.13

Помимо No GIL и билдов для iOS-приложений, в новой версии были внесены улучшения в структурное сопоставление с образцом (Pattern Matching). Одним из ключевых нововведений стало более интуитивное сопоставление по атрибутам объектов.

Ранее для сопоставления объектов по их атрибутам требовалось использовать дополнительные методы или свойства, что усложняло код. С введением новой функциональности в Python 3.13 стало возможным напрямую сопоставлять объекты по их атрибутам в конструкции match-case.


match user:
case User(name="Admin", role=AdminRole()) as admin:
return admin.get_permissions()
case User(name=name, role="editor") if is_senior(name):
return editor_permissions()
case _:
return default_permissions()


- Если объект user является экземпляром класса User с атрибутом name, равным "Admin", и атрибутом role, являющимся экземпляром AdminRole, то он присваивается переменной admin, и вызывается метод get_permissions();
- Если user — это User с ролью "editor" и именем, удовлетворяющим условию is_senior(name), то возвращаются разрешения редактора.
- Во всех остальных случаях возвращаются разрешения по умолчанию.

Под капотом сопоставление по атрибутам работает следующим образом:

- Проверяется, является ли объект экземпляром указанного класса;
- Затем происходит попытка сопоставления указанных атрибутов объекта с заданными значениями или шаблонами;
- Если все условия выполняются, сопоставление считается успешным, и можно использовать переменные, полученные в результате сопоставления.
April 23
This media is not supported in your browser
VIEW IN TELEGRAM
April 23
April 24
This media is not supported in your browser
VIEW IN TELEGRAM
April 24
April 24
April 25
April 25
April 26
April 26
Forwarded from IT Юмор
​​Когда вставил в код, написанный нейросетью, свой кусок:
April 27
April 27
April 28
This media is not supported in your browser
VIEW IN TELEGRAM
April 28
April 29
April 29
April 30
April 30
Редакция Tproger желает питонистам хорошенько почиллить на этих майских праздниках. Также помянем коллег из поддержки 24 / 7 (оставим им хотя бы цифровой шашлык):

©-🐍-🤓-😂-🐍-🕸-🔖->
| |
| |
|🔥 🔥 🔥🔥🔥🔥 🔥|

@zen_of_python
Please open Telegram to view this post
VIEW IN TELEGRAM
May 1
May 1