[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