Junior — Middle
Is it possible for a method within a class to return the class to which this method belongs?
sobes.tech AI
Answer from AI
Yes, inside a class method in Python, you can get a reference to the class to which the method belongs. Usually, this is done using the first parameter of the method:
- In regular methods (instance methods), the first parameter is
self— a reference to the instance of the class. To get the class, you can useself.__class__. - In class methods, which are declared with the
@classmethoddecorator, the first parameter iscls— a direct reference to the class.
Example:
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'>
Thus, inside the method, you can return the class itself via self.__class__ or cls.