Welcome to the Treehouse Community
Looking to learn something new?
Clarrification on @classmethod and cls
Just looking for some clarification on what '@classmethod' and 'cls' actually do and why they are needed as I'm not sure I understand despite completing this task.
Steven Parker221,451 Points
A class method is something you would call using the class itself, but a typical method would be called using an instance of the class. So in a typical method, the first argument is a reference to the instance, which is by convention referenced with the name "self".
But in a class method, there is no instance, so the system provides a reference to the class as the first argument. Also as a convention (not enforced technically) this reference is named "cls". This is often used to create a new instance.