Лучший человек на ютубе. Спасибо за полезную информацию. Однажды встречался с датаклассами при разработке ботов, видел их люди используют для конфига, но особо не вникал в это, но всё же, теперь понимаю, что это хорошая вещь. :3
А ещё больше ускоряют не только разработку, но и выполнение так называемые "cdef classes" в Cython. Внутри это сишные struct, что гораздо быстрее питоновских объектов с кучей дополнительного обвеса. А ещё есть расширенные методы сравнения, которые позволяют убрать все эти дандеры. Ну и, конечно же, компиляция в нативный код... Я делал про это отдельный видос даже.
Когда мы определяем __eq__ метод в Python, рекомендуется также определяется __ne__ метод, который обеспечивает согласованное поведение при сравнении на равенство. Если он не реализован, то Python автоматически использует отрицание результата __eq__. Но, явно определяя __ne__, мы убираем необходимость делать дополнительные проверки, и тем самым получаем небольшой прирост производительности. Когда __ne__ не реализован, Python выполняет not self.__eq__(other) для определения неравенства. Но указав __ne__ напрямую, мы отбрасываем все дополнительные операции.
@@zproger согласен, на целую одну операцию вроде бы меньше, получаем все тот же O(1). Но дело в том, что != часто работает как просто отрицание ==, и тогда получается одинаково. В целом я не против и даже за явное определение __ne__, потому как явное лучше неявного, но говорить, что это "быстрее" как-то странно.
Цель видео была сравнить скорость разработки на обычных классах, и на дата-классах. А Dunder методы нужны чтобы сравнивать объекты между собой, на основе готовых кортежей.
@@zproger писать много и писать мало очевидно отличаются по скорости, а вот задачи, для чего надо указать эти базовые настройки в классе, знать как это поможет проекту особенно если ты новичок, это более интереснее было бы как по мне, я про это
Здоров, сейчас уже как год Godot энжин поддерживает любой скриптовый язык, но нет ни одного гайда который обяснит как работать с импортированными языками, то-есть гайды говорят как установить адаптацию, но не говорят об командах в ней. Грубо говоря кроме стандартных программ ничего не напилишь.
Ни справочников, ни документации вообще ничего кроме установки годот пайтона не нашел. Может ищу не там, может кто-то подскажет где найти хотя-бы что-то.
Столько нового узнал, спасибо за качественный контент 🔥
Рад что было полезно!
Спасибо большое за видео, очень полезная информация!
Комментарий в поддержку автора канала, за полезную информацию и потраченное время
Благодарю!
увидеть бы создание реального проекта, где используются все эти полезности на канале и так чтоб сразу по ходу объяснение как и чё работает
Спасибо за контент!
Лучший человек на ютубе. Спасибо за полезную информацию. Однажды встречался с датаклассами при разработке ботов, видел их люди используют для конфига, но особо не вникал в это, но всё же, теперь понимаю, что это хорошая вещь. :3
Спасибо за видео, а какой у тебя дистрибутив линукса? и какая граф оболочка?
А ещё больше ускоряют не только разработку, но и выполнение так называемые "cdef classes" в Cython. Внутри это сишные struct, что гораздо быстрее питоновских объектов с кучей дополнительного обвеса. А ещё есть расширенные методы сравнения, которые позволяют убрать все эти дандеры. Ну и, конечно же, компиляция в нативный код...
Я делал про это отдельный видос даже.
Привет. Очень хотелось бы видео про grafana, вроде бы удобная штука, но ничего не понятно
Спасибо за идею, возможно что-то придумаю
Дежавю?
Что надо еще написать. А!
Красивое лучше, чем уродливое.
Сложное лучше, чем запутанное.
ZenPython.
"не равно" не будет работать быстрее. Если оно не определено, то это просто отрицание __eq__. Ты кодом делаешь то же самое, выигрыша по скорости нет.
Когда мы определяем __eq__ метод в Python, рекомендуется также определяется __ne__ метод, который обеспечивает согласованное поведение при сравнении на равенство.
Если он не реализован, то Python автоматически использует отрицание результата __eq__. Но, явно определяя __ne__, мы убираем необходимость делать дополнительные проверки, и тем самым получаем небольшой прирост производительности.
Когда __ne__ не реализован, Python выполняет not self.__eq__(other) для определения неравенства. Но указав __ne__ напрямую, мы отбрасываем все дополнительные операции.
@@zproger согласен, на целую одну операцию вроде бы меньше, получаем все тот же O(1). Но дело в том, что != часто работает как просто отрицание ==, и тогда получается одинаково. В целом я не против и даже за явное определение __ne__, потому как явное лучше неявного, но говорить, что это "быстрее" как-то странно.
Зачем это всё? Зачем базовые установки тандер методов? пример бы задачи где это полезно
Цель видео была сравнить скорость разработки на обычных классах, и на дата-классах.
А Dunder методы нужны чтобы сравнивать объекты между собой, на основе готовых кортежей.
@@zproger писать много и писать мало очевидно отличаются по скорости, а вот задачи, для чего надо указать эти базовые настройки в классе, знать как это поможет проекту особенно если ты новичок, это более интереснее было бы как по мне, я про это
Привет, что за тема?
Какой шрифт у тебя используется?
Стандартный шрифт
@@zproger times new roman?
Для GPT нужен свой язык , и тогда он заменит программистов. Все известны языки создавались для людей с определенной подготовкой.
Прикольнаяштука dataclasses
Здоров, сейчас уже как год Godot энжин поддерживает любой скриптовый язык, но нет ни одного гайда который обяснит как работать с импортированными языками, то-есть гайды говорят как установить адаптацию, но не говорят об командах в ней. Грубо говоря кроме стандартных программ ничего не напилишь.
Ни справочников, ни документации вообще ничего кроме установки годот пайтона не нашел. Может ищу не там, может кто-то подскажет где найти хотя-бы что-то.
Перезалив?
Конечно нет) Было похожее видео, но оно скорее рассматривало функционал дата-классов, а здесь уже напрямую сравнение подходов
NamedTuple уже не торт?
Как его со slots использовать?
Тот самый человек, который спешит в коменты писать : "я первый".
Тот чел : *не смотря на то ,что уже есть коменты, все равно пишет*
:)
писать "я первый" очень тонкая работа, порой, когда ты пишешь, человек уже написал и отправил, а у тебя ещё не загрузилось, и ты тоже отправляешь.
Что за проперти через собаку ?
Это знают все вокруг, человек собаке друг.
Комментарий в поддержку автора канала, за полезную информацию и потраченное время