What is the difference between @staticmethod and @classmethod in Python?

I’m a bit confused about the difference between the @staticmethod and @classmethod decorators in Python. I’ve seen both used to define methods that can be called on a class, but I’m not sure when to use which one. Can someone explain the difference and show me an example?

Here’s some code I’ve been experimenting with:

This seems to work fine, but I’m not sure what the difference is between the two types of methods. Can someone explain it to me, and maybe suggest some situations where I should use one or the other? Thanks in advance for any help!