who to call a list of method inside the class itself

2008-08-19 Thread maduma
Hi,

Is the following code is ok. who to call all method.
It is working but the call to m() without a reference to self seems
strange

Thanks for your help

class CustomMethod:
def method1(self):

def method2(self):

def method3(self):
   

def getAllMethod(self):
return [self.method1, self.method2, self.method3]

def applyAll(self):
for m in self.getAllMethod():
# how to call all methods ?
# is it correct
m()

--
http://mail.python.org/mailman/listinfo/python-list


Re: who to call a list of method inside the class itself

2008-08-19 Thread maduma
On Aug 19, 4:33 pm, Fredrik Lundh <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > Is the following code is ok. who to call all method.
> > It is working but the call to m() without a reference to self seems
> > strange
>
> > Thanks for your help
>
> > class CustomMethod:
> > def method1(self):
> > 
> > def method2(self):
> > 
> > def method3(self):
> >
>
> > def getAllMethod(self):
> > return [self.method1, self.method2, self.method3]
>
> > def applyAll(self):
> > for m in self.getAllMethod():
> > # how to call all methods ?
> > # is it correct
> > m()
>
> what happens when you run the code?
>
> 
The code it is running fine but i just wondering if it's the syntax is
correct (avoid any side effect)

-Stephane
--
http://mail.python.org/mailman/listinfo/python-list


Re: who to call a list of method inside the class itself

2008-08-20 Thread maduma
On Aug 20, 8:14 am, "Gabriel Genellina" <[EMAIL PROTECTED]>
wrote:
> En Tue, 19 Aug 2008 11:18:00 -0300, <[EMAIL PROTECTED]> escribi :
>
> > Is the following code is ok. who to call all method.
> > It is working but the call to m() without a reference to self seems
> > strange
>
> Ok, so you already know it works - and you want to know why!
>
>
>
> > class CustomMethod:
> > def method1(self):
> > 
> > def method2(self):
> > 
> > def method3(self):
> >
>
> > def getAllMethod(self):
> > return [self.method1, self.method2, self.method3]
>
> > def applyAll(self):
> > for m in self.getAllMethod():
> > # how to call all methods ?
> > # is it correct
> > m()
>
> When you write self.method1, you get a "bound method" - it already knows
> the instance on which it is called (self, in this case).
> When you write CustomMethod.method1, you get an "unbound method" - it is
> not bound to any particular instance; you must provide the instance
> yourself when calling it.
> See "User-defined methods" inhttp://docs.python.org/ref/types.html- if
> you really want to know how this works, read about  new-style classes and
> the descriptor protocol athttp://www.python.org/doc/newstyle/
>
> --
> Gabriel Genellina

Tanks all for your help

Regards

-Stephane
--
http://mail.python.org/mailman/listinfo/python-list