B
bdsatish
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" ??
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" ??