hi,
is cls & self the same thing?
I have seen something like
class A:
def dosomething(cls):
#doing something
How is cls & self differ? How is it use?
Thanks
james
First, you have to understand that the choice of this name is *completely
arbitrary*. You could call it self, cls, this, bogus, helloworld or
whatsoever. The important thing is just: The first argument is (by
default) the instance.
Amongst python developers, many things aren't enforced by the language
(eg. implicit `this` referencing the instance, as in other languages) but
by conventions. It's just way more convenient to call it `self` always.
We call it `cls` when speaking about classmethods. Your method there
might have been headed by a line containing ``@classmethod``.
See
http://docs.python.org/lib/built-in-funcs.html#l2h-16 for classmethod
and
http://docs.python.org/tut/node11.html#SECTION0011400000000000000000
for this conventional stuff (paragraph "Often, the first argument ...").
HTH,
Stargaming