Назад к вопросам
Junior — Middle
62
Можно ли внутри метода класса вернуть сам класс, которому принадлежит данный метод?
Ответ от нейросети
sobes.tech AI
Да, внутри метода класса в Python можно получить ссылку на сам класс, которому принадлежит этот метод. Для этого обычно используют первый параметр метода:
- В обычных методах (instance methods) первым параметром является
self— ссылка на экземпляр класса. Чтобы получить класс, можно использоватьself.__class__. - В методах класса (class methods), которые объявляются с декоратором
@classmethod, первым параметром являетсяcls— ссылка непосредственно на класс.
Пример:
class MyClass:
def instance_method(self):
return self.__class__
@classmethod
def class_method(cls):
return cls
obj = MyClass()
print(obj.instance_method()) # <class '__main__.MyClass'>
print(MyClass.class_method()) # <class '__main__.MyClass'>
Таким образом, внутри метода можно вернуть сам класс через self.__class__ или cls.