Here is an example of where class and static methods have the same behavior.
class MyClass:
data = 'stuff'
@classmethod
classModifyData(cls, newData):
cls.data = newData
@staticmethod
staticModifyData(newData);
MyClass.data = newData
And here is the behavior ...
myClassInstance = MyClass()
print(MyClass.data)
#stuff
print(myClassInstance.data)
# stuff
MyClass.classModifyData('class method modified stuff')
print(MyClass.data)
# class method modified stuff
print(myClassInstance.data)
# class method modified stuff
MyClass.staticModifyData('static method modified stuff')
print(MyClass.data)
# static method modified stuff
print(myClassInstance.data)
# static method modified stuff
I'm assuming there are more complex usages of @classmethod where you couldn't use @staticmethod but I haven't found one. Any clarity on this would be helpful. Thanks.