Martin P. Hellwig wrote: > While I was reading PEP 8 I came across this part: > > """ > Function and method arguments > Always use 'self' for the first argument to instance methods. > Always use 'cls' for the first argument to class methods. > """ > > Now I'm rather new to programming and unfamiliar to some basic concepts > of OOP. However I wrote most of my classes in the new style way and by > this I have always used 'self' for the first argument of an Instance > method, but now I'm unsure what actually the difference is between an > instance and a class method is and when to use it in which case. > > Could somebody please enlighten me (a rtfm/wrong newsgroup is just as > welcome of course), preferably in a short code example?
You're probably doing fine. class C(object): # instance method def foo(self): ... # class method @classmethod def bar(cls): ... It's probably pretty unlikely that you've declared any class methods, but if you have, you should be able to identify them by the call to ``classmethod``. If you don't see any of those, you're fine. A class method is just a method that can be called like: Class.method() instead of having to be called like: instance.method() For 99% of the methods you write, I'd expect them to be instance methods. STeVe -- http://mail.python.org/mailman/listinfo/python-list