Brian van den Broek wrote:
DogWalker said unto the world upon 2004-12-15 00:32:

"Brian van den Broek" <[EMAIL PROTECTED]> said:
I have a some style suggestions for you, too.

Try it this way:

def check_in_range(value):
       in_range = False
       if 9 < value < 90:
           in_range = True
       return in_range

Shorter: def check_in_range(value): return 9 < value < 90


Indeed. Good one. I never seem to think of such very direct ways, but there you have it. It might say more about my psychology than anything else, but I think I'd be tempted to put a brief comment on that code. (Such as # returns True if the test, False otherwise.) My guess is that if I had to read it more than twice, the time spent writing the comment would be more than regained in spending less time scratching my head. This might also be a matter of little experience, too.

Of course put a comment if you like, but this is very concise, idiomatic code and I hope you will get used to it so the comment is not needed.


The value of the expression '9 < value < 90' is actually a boolean True or False, so testing the expression and explicitly returning True or False is redundant. You are using four lines of code to do the work of one.

In general, Python's flexibility with boolean values is a strength of the language and I recommend you try to get comfortable with it.


At any rate, I certainly would agree that yours is bound to be better in any situation where speed of execution mattered a lot.

Or readability, IMO.

Kent


Best,

Brian vdB

_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to