Junior — Middle
What are the differences between static class methods and regular object methods?
sobes.tech AI
Answer from AI
A static method of a class in Python is a method that does not automatically take either the class instance (self) or the class itself (cls) as the first argument. It is defined using the @staticmethod decorator. Such a method does not depend on the state of a specific object or class and is usually used for functions that are logically related to the class but do not require access to its data.
A regular object method takes self as the first argument — a reference to the current instance of the class. Through self, the method can access the attributes and other methods of the object.
Example:
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
Summary:
- Static methods do not have access to
selforcls. - Regular methods work with a specific instance via
self. - Static methods are used for utility functions within the class.