[EMAIL PROTECTED] wrote:
> I wanted to know if there's any way to create a method that takes a
> default parameter, and that parameter's default value is the return
> value of another method of the same class. For example:
>
> class A:
> def __init__(self):
> self.x = 1
>
> def meth1(self):
> return self.x
>
> def meth2(self, arg=meth1()):
> # The default `arg' should would take the return value of
> meth1()
> print '"arg" is', arg
>
> This obviously doesn't work. I know I could do
>
> ...
> def meth2(self, arg=None):
> if arg is None:
> arg = self.meth1()
>
> but I'm looking for a more straightforward way.
You can write this as:
def meth2(self, arg=None):
arg = arg or self.meth1()
IMHO - You can't get much more "straightforward" than that.
-Larry
--
http://mail.python.org/mailman/listinfo/python-list