question of style
steve at REMOVE-THIS-cybersource.com.au
Sun Jul 5 03:36:13 CEST 2009
On Sat, 04 Jul 2009 11:10:48 -0700, Paul Rubin wrote:
> Anyway, Python's overloading of bool(...) is yet another misfeature and
> although it's convenient, the "explicit is better than implicit"
> principle indicates to avoid that sort of trick.
"Overloading of bool()"?
I don't understand what that means -- you mean you dislike the ability to
overload __bool__ (__nonzero__ in older Pythons)? That seems strange.
Python allows you to overload __int__ and __str__ and __float__, why is
__bool__ a misfeature? If that's what you mean, then I'm perplexed.
Or do you mean that all Python objects are interpretable in a truth
context? If that's what you mean, then I'm not perplexed, I'm sure you're
utterly wrong. Certain people -- a tiny minority -- keep trying to argue
that the ability to say "if obj" for arbitrary objects is somehow a bad
thing, and their arguments seem to always boil down to:
"If you write code that assumes that only bools have a truth value, then
surprising things will happen because all objects have a truth value."
If you think you have a better reason for calling the truth value of
arbitrary objects a "misfeature", I'd like to hear it.
More information about the Python-list