bdsatish wrote: > Hi, > > I have a question regarding the difference b/w "class methods" and > "object methods". Consider for example: > > class MyClass: > x = 10 > > Now I can access MyClass.x -- I want a similar thing for functions. I > tried > > class MyClass: > def some_func(x): > return x+2 > > When I call MyClass.some_func(10) -- it fails, with error message: > > > TypeError: unbound method some_func() must be called with MyClass > instance as first argument (got int instance instead) > > OK. I figured out that something like this works: > obj = MyClass() > y = obj.some_func(10) > > BUT, this means that we have functions applying for instances. That is > we have "instance method". Now, how do I implement some function which > I can invoke with the class name itself ? Instead of creating a dummy > object & then calling.... In short, how exactly do I create "class > methods" ?? with staticmethod decorator:
>>> class MyClass: ... @staticmethod ... def some_func(x): ... return x+2 ... >>> MyClass.some_func(10) 12 -- http://mail.python.org/mailman/listinfo/python-list