On Jul 15, 4:53 pm, Chris Angelico <ros...@gmail.com> wrote: > Then the construct "if bool(some_condition):" is redundant.
Wrong again, pay attention Chris! It's ONLY redundant IF "some_condition" is a rich comparison: like "(a==b)" OR a boolean function: like "callable(a)". If HOWEVER we want to "truth test" an object (as in: "if obj") we should be FORCED to use the bool! Why? Because explicit is better than implicit and readability counts if we want to create maintainable code bases! if bool(obj) and a==b: # Correct! if obj and a==b: # Incorrect! Both lines of code currently produce the same result because "somebody" decided to give objects esoteric boolean values. Sure, we saved a few key stokes in a condition, but sadly at the cost of readability and consistency. I see no reason why choosing implicit resolution is better than explicit resolution. Saving six keystrokes is simply not enough! Python's motto has always been "readability counts", and for that reason, we should return to Explicit Boolean Resolution if we want to adhere to those principals. -- http://mail.python.org/mailman/listinfo/python-list