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

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

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

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

В чем же разница?
@classmethod используется в суперклассе для определения того, как метод должен вести себя, когда он вызывается разными дочерними классами.
@staticmethod используется, когда мы хотим вернуть объект, независимо от вызываемого дочернего класса.
  • 👎 3
More from @python_academy
  1. Sep 20, 2026Понимание различий между операторами сравнения == и is Множество разработчиков сталкиваютс…
  2. Sep 19, 2026Быстрый deque deque предпочтительнее, чем обычный список, когда нужны более быстрые операц…
  3. Sep 19, 2026⁠Упаковка параметров с помощью urlencode Довольно часто приходится работать с разнообразны…
  4. Sep 18, 2026Поиск уникальных слов в текстовом файле в Python Чтобы найти уникальные слова в текстовом…
  5. Sep 16, 2026Делаем ошибки более читаемыми В Python есть удобный модуль pretty_errors, который делает с…
  6. Sep 15, 2026Обрабатываем естественный язык TextBlob — удобный пакет для обработки текста. Он предостав…
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 →