Difference between 'cls' and 'self' in Python classes?
The distinction between
"cls" is defined in
PEP 8 . As Adrien said, this is not mandatory. It's a coding style.
PEP 8 says:
Function and method arguments:
selffor the first argument to instance methods.
clsfor the first argument to class methods.
cls implies that method belongs to the class while self implies that the method is related to instance of the class,therefore member with
cls is accessed by class name where as the one with self is accessed by instance of the class...it is the same concept as
static member and
non-static members in java if you are from java background.