Back to questions
Ozon Финтех
Senior
8
Обязательно ли писать self у методов класса?
Companies where asked
Answer from AI
sobes.tech AI
В Python параметр self в методах класса обязателен, если метод является обычным методом экземпляра. Это ссылка на текущий объект и позволяет обращаться к его атрибутам и другим методам. Без self метод не сможет работать с состоянием объекта.
Однако, если метод объявлен как @staticmethod, то self не нужен, так как такой метод не связан с конкретным экземпляром класса. Аналогично, у методов с декоратором @classmethod первым параметром обычно является cls — ссылка на сам класс.
Пример:
class MyClass:
def instance_method(self):
print('Это метод экземпляра, self обязателен')
@staticmethod
def static_method():
print('Это статический метод, self не нужен')
@classmethod
def class_method(cls):
print('Это метод класса, self не нужен, есть cls')