0

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.

jm1102
  • 25
  • 3

0 Answers0