TGViewer
Python Academy Python Academy @python_academy · 44.3K subscribers
Post #2482 3.1K
Добавляем классу большую функциональность

На прошлой неделе мы объясняли декоратор @classmethod, а сейчас рассмотрим @staticmethod.

@staticmethod можно воспринимать как метод, который "не знает, к какому классу относится". Он просто получает переданные аргументы, без неявного первого аргумента, и его определение не изменяется через наследование. Еще раз: статические методы прикреплены к классу лишь для удобства — и не могут менять состояние ни класса, ни его экземпляра.

Зачем использовать. Статические методы делают код более читабельным и повторно используемым. Его также удобнее использовать для импорта по сравнению с обычными функциями, поскольку функцию не нужно отдельно импортировать.

В чем же разница?
@classmethod используется в суперклассе для определения того, как метод должен вести себя, когда он вызывается разными дочерними классами.
@staticmethod используется, когда мы хотим вернуть объект, независимо от вызываемого дочернего класса.
  • ❤ 1
  • 👎 1
More from @python_academy
  1. Sep 23, 2026Возврат нескольких значений из функции Знаете ли вы, что можно осуществлять возврат нескол…
  2. Sep 22, 2026Получение срезов итераторов Если вы попытаетесь получить срез итератора, то столкнётесь с…
  3. Sep 21, 2026Хэширование Хэш — это целое число фиксированного размера, которое идентифицирует определен…
  4. Sep 20, 2026Понимание различий между операторами сравнения == и is Множество разработчиков сталкиваютс…
  5. Sep 19, 2026Быстрый deque deque предпочтительнее, чем обычный список, когда нужны более быстрые операц…
  6. Sep 19, 2026⁠Упаковка параметров с помощью urlencode Довольно часто приходится работать с разнообразны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →