For review: PEP 308 - If-then-else expression
Dale Strickland-Clark
dale at riverhall.NOTHANKS.co.uk
Sat Feb 8 15:55:35 EST 2003
Paul Rubin <phr-n2003b at NOSPAMnightsong.com> wrote:
>Dale Strickland-Clark <dale at riverhall.NOTHANKS.co.uk> writes:
>> >An example:
>> >
>> > def get_arg(self, default=1):
>> > """Return any prefix argument that the user has supplied,
>> > returning `default' if there is None. `default' defaults
>> > (groan) to 1."""
>> > if self.arg is None:
>> > return default
>> > else:
>> > return self.arg
>>
>> Yuck! An pointless function that boils down to:
>>
>> self.arg or default
>>
>> in current parlance.
>
>Actually wrong.
>
> self.arg or default
>
>will incorrectly give the default, if self.arg is 0 or the empty
>string or an empty dict, etc. A conditional expression is really the
>right thing here.
Yup. I goofed.
--
Dale Strickland-Clark
Riverhall Systems Ltd
More information about the Python-list
mailing list