Назад к вопросам
Junior — Middle
78
В чем различия между статическим методом класса и обычным методом объекта?
Ответ от нейросети
sobes.tech AI
Статический метод класса в Python — это метод, который не принимает автоматически ни экземпляр класса (self), ни сам класс (cls) в качестве первого аргумента. Он определяется с помощью декоратора @staticmethod. Такой метод не зависит от состояния конкретного объекта или класса и обычно используется для функций, логически связанных с классом, но не требующих доступа к его данным.
Обычный метод объекта принимает первым аргументом self — ссылку на текущий экземпляр класса. Через self метод может обращаться к атрибутам и другим методам объекта.
Пример:
class MyClass:
@staticmethod
def static_method(x, y):
return x + y
def instance_method(self, x):
return x * 2
obj = MyClass()
print(MyClass.static_method(3, 4)) # 7
print(obj.instance_method(5)) # 10
Итого:
- Статический метод не имеет доступа к
selfилиcls. - Обычный метод работает с конкретным экземпляром через
self. - Статические методы используются для утилитарных функций внутри класса.