Аннотации Final и @final в Python

  Рет қаралды 1,359

Сурен Хоренян

Сурен Хоренян

Ай бұрын

Показываю аннотации Final и @ final в Python для создания констант и "последних" классов и методов.
Констант в Python нет. Мы можем добавить техническое ограничение (например, через дескрипторы), ошибка при попытке присвоить возникнет только в момент выполнения кода. А при помощи линтера (например mypy) мы можем ещё на этапе статического анализа кода выявить потенциальные проблемы.
Код тут gist.github.com/mahenzon/1d6c...
Поддержать выход роликов (зарплата монтажеру)
- на Boosty boosty.to/mahenzon
- на Sponsr sponsr.ru/suren/
- через Tinkoff (любые карты) tinkoff.ru/cf/6kbKWtKhapM
- через CloudTips pay.cloudtips.ru/p/9a8fa641
Ссылки на соцсети:
- Канал в ТГ t.me/Khorenyan - тут в чате обсуждаем технологии и ваш код
- Паблик в ВК SurenKhorenyan
- KZfaq: / @surenkhorenyan
- Второй канал на KZfaq: / @surenlife
- RuTube rutube.ru/u/Suren/

Пікірлер: 20
@user-kk1yg9fr8r
@user-kk1yg9fr8r Ай бұрын
Топчик, про Final знал а вот @final что-то новое для меня спасибо!
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
Крутяк, пожалуйста!
@lentIIKFN
@lentIIKFN Ай бұрын
Здравствуйте! Посмотрел ваши ролики про авторизацию в fastapi. Мне стало интересно что вы думаете насчет библиотеки fastapi-users. Насколько знаю в ролике вы ее не упоминали.
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
Привет! По fastapi-users в обозримом будущем будет ролик. Пока не успеваю разобраться и сделать.
@lentIIKFN
@lentIIKFN Ай бұрын
@@SurenKhorenyan Просто интересно, чем пользоваться лучше и проще.
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
@@lentIIKFN всё зависит от ситуации. Я бы использовал отдельный центр авторизации
@ashm_tech
@ashm_tech Ай бұрын
Сурен, а какой у вас Pycharm? И какую AI тулзу используете? Заранее благодарю!
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
PyCharm Pro, последний 23-го года. Встроенный full line completion, который работает локально
@lifestyletv139
@lifestyletv139 Ай бұрын
Пушка бро
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
Кайф, спасибо!
@bednyakov
@bednyakov Ай бұрын
Спасибо за видео. Но 5 минутная тема растянута на полчаса, объективно. Это видимо скилл из Скиллбокс)) Вот сокращенный сценарий: Final в Python обозначает, что данное значение не может быть изменено или перезаписано. Например, если мы объявим переменную с аннотацией Final, то после присваивания значения ее уже не будет возможности изменить. Пример использования Final из typing в Python: пример @final - это декоратор, который можно применять к классам в Python. Он обозначает, что данный класс является финальным и не подлежит наследованию. Если мы попытаемся унаследовать от класса, помеченного как @final, то Python выдаст ошибку. Пример использования @final из typing в Python: пример Итак, Final и @final из модуля typing в Python используются для указания, что значение переменной или класса не может быть изменено или унаследовано соответственно.
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
Здравствуйте. Спасибо за краткую сводку! Да, я люблю рассказать подробно. Сам сначала думал, что видео на 10 минут, а оно вон как. Навык точно не из скилбокс
@user-qp8hg4ds2b
@user-qp8hg4ds2b Ай бұрын
Сурен, спасибо за видео! Подскажите пожалуйста, как можно реализовать ведение атрибутов changed_by, changed_at? Надо чтоб заполнялись только при изменении других атрибутов объекта, вне инициализатора.
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
Пожалуйста! А в каких объектах это? В любых классах? Или при работе с бд? Приходите в Телеграм чат, там подскажем обязательно
@user-qp8hg4ds2b
@user-qp8hg4ds2b Ай бұрын
Да, в произвольном классе. Надо отслеживать кто изменял объект и когда. Но когда переопределяю метод __set__ то отрабатывает в том числе в __init__, а мне это не нужно.
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
@@user-qp8hg4ds2b тогда только через дескрипторы. Следите за изменениями любых свойства и меняйте внутренние значения
@user-fo9vj2yr6m
@user-fo9vj2yr6m Ай бұрын
Бро, tuple читается не как "тЮпл", а как "тАпл"))
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
Спасибо! Главное, чтобы было понятно, что имеется в виду 🙂
@Amatefinde
@Amatefinde Ай бұрын
Половира нейтивов читает тюпл, половина тапл, так что не надо тут гнать на Сурена
@SurenKhorenyan
@SurenKhorenyan Ай бұрын
@@Amatefinde да главное чтобы было понятно и всё
Никогда ТАК не делай в Python | 5 запретных техник
29:36
When someone reclines their seat ✈️
00:21
Adam W
Рет қаралды 20 МЛН
I Need Your Help..
00:33
Stokes Twins
Рет қаралды 157 МЛН
Магические методы в python. Dunder методы
1:00:45
ДЕСКРИПТОРЫ В ПИТОНЕ
22:43
Андрей Иванов | Python
Рет қаралды 9 М.
Абстрактные классы в Python
12:35
Python Clinic
Рет қаралды 2,7 М.
Лучшая IDE для Python!
8:15
Хауди Хо™ - Просто о мире IT!
Рет қаралды 351 М.
Pratik Cat6 kablo soyma
0:15
Elektrik-Elektronik
Рет қаралды 8 МЛН
ПК с Авито за 3000р
0:58
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,9 МЛН
Выложил СВОЙ АЙФОН НА АВИТО #shorts
0:42
Дмитрий Левандовский
Рет қаралды 1,8 МЛН
cool watercooled mobile phone radiator #tech #cooler #ytfeed
0:14
Stark Edition
Рет қаралды 8 МЛН