Чтобы нельзя было внезапно из метода class A: def f(a): print(a) Сделать A().f()
Или вынося в отдельную функцию
Так это наоборот позволяет дернуть из проинициализированного обьекта
Зачем тебе дергать из объекта метод который должен лежать вне всего
Я тоже не понимаю. Вопрос в том – зачем нужен декоратор
В питоне чтобы был, слишком очевидный декоратор просто. А вот в Java/C#/еще какая-то штука у которой все в классах лежит еще как нужны
код слева не заработает
всмысле не нужен?)) Я хочу инкапсулировать набор методов в какой-то класс например. Очень удобно
для этого у тебя есть модуль
ну модуль, а наследовать как его?)) Мы же про ООП говорим, а не про императивное программирование
Наследовать статикметоды?
Инкапсулируй твой класс и статикметод в модуле
Что-то тяжелое
хм. чот даже не помню, приходилось ли мне хоть раз что то такое делать и нужно ли было
Инкапсуляция это не про статикметод, он не работает с состоянием
^^^^ ?
Статик метод нужен. Декоратор @staticmethod не нужен
А какой смысл вызывать через экземпляр, если это статический метод?
спасибо, а я все думал зачем тут бесполезная фича
давай без пустословия
У него реализация 5 строчек, вряд ли его впринципе добавляли ради чего-то. Скорее просто слишком очевидная и простая вещь чтобы не попасть в стандартную библиотеку, а дальше уже вот такие вот тащут эту штуку и на серьезных щах задают вопросы по типу а надо ли оно
Ну взял бы да удалил чтобы не пользовались ненужной какой
Ну у нас же не джаваскрипт, питонистам можно от чего-то отказываться
То. Это у джаваскриптеров проблемы с обратной совместимостью критические, а вот питонистам обычно похуй на это дело, потому что даже с 3.5 и 3.9 куча несовместимостей
Обсуждают сегодня