[Tutor] am I missing another simpler structure?
Blake Winton
bwinton at latte.ca
Thu Dec 16 15:20:41 CET 2004
Juan Shen wrote:
>>> def is_leap_year(year):
>>> is_leap = True
>>> try:
>>> datetime.date(year, 2, 29)
>>> except ValueError:
>>> is_leap = False
>>> return is_leap
>>
>> I would write
>> def is_leap_year(year):
>> try:
>> datetime.date(year, 2, 29)
>> return True
>> except ValueError:
>> return False
>>
> Yeah, I support Kent. Brian's code is obviously C style, define a
> variable and give it an origin value, then use it, modify its value and
> so on. If you choose Python, you should adapt to it that variable
> needn't to be defined specificly before being used!
I far prefer the Brian's version, because it lets me set a single
breakpoint while I'm debugging, and I can look at the return value
before returning it, instead of having to set n breakpoints (or, usually
n-1 because I've overlooked the one that's actually being executed) and
looking at what's being returned on each line. (Yes, I do the same
thing in C and C++, but I originally started using it in Java, and after
a few debugging sessions it makes a lot of sense.) Only having one
return point from a function is a long-standing convention that is
supposed to make programs easier to read/debug/optimize/prove correct.
Later,
Blake.
More information about the Tutor
mailing list