Чем отличается статический метод от обычного метода экземпляра класса?

Статический метод в Python — это метод, который не принимает автоматически ни экземпляр класса (self), ни сам класс (cls) в качестве первого аргумента. Он определяется с помощью декоратора @staticmethod.

Короткий ответ

Что ответить на собеседовании

Статический метод в Python — это метод, который не принимает автоматически ни экземпляр класса (self), ни сам класс (cls) в качестве первого аргумента. Он определяется с помощью декоратора @staticmethod.

Подробный разбор

Ответ с пояснениями

Статический метод в Python — это метод, который не принимает автоматически ни экземпляр класса (self), ни сам класс (cls) в качестве первого аргумента. Он определяется с помощью декоратора @staticmethod.

Обычный метод экземпляра всегда получает первым аргументом ссылку на текущий объект (self), что позволяет работать с его атрибутами и другими методами.

Пример:

class MyClass:
    @staticmethod
    def static_method():
        print("Это статический метод")

    def instance_method(self):
        print("Это метод экземпляра")

obj = MyClass()
obj.instance_method()  # Можно вызвать через объект, доступ к self есть
MyClass.static_method()  # Вызывается через класс, self не нужен

Таким образом, статический метод полезен, когда функция логически связана с классом, но не зависит от конкретного экземпляра.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее