Le 17/04/2011 11:46, Ben Finney a écrit :
> candide<candide@free.invalid>  writes:
>
>> First because I was doubting the true interest of the bool() type. In
>> fact, it appears that it's _semantically_ a shortcut for
>> True if x else False.
>
> That bends my brain. Both ‘True’ and ‘False’ are instances of the ‘bool’
> type. So of course the ‘bool’ constructor will return them.

A user of the Python programming language can sensibly handle boolean values and write a lot of good code and at the same time completely ignore all the object oriented stuff behind the True and False instances.

> What is the
> “shortcut” you refer to?

bool(x) is nothing more than a shortcut for the following expression : True if x else False. Compare for instance with the str() type whose implementation is far more complicated. When learning Python, you early and communly use str() type but use sparingly the bool() type. On the other hand, the learner cannot replace himself the service str() provide (hard to write an equivalent code). It's not the case for the bool() type : True if foo else False.



>
> Remember, the point of a type is to encapsulate both behaviour and an
> exclusive domain of possible values. The Boolean type is particularly
> simple, so I don't see why you would be surprised that the behaviour of
> the ‘bool’ constructor is simple – that's a feature of that type.
>

In fact, bool() is so simple that at first glance I didn't see any use for it.


>> In the orther hand, I'm builting a sort of documentation for learning
>> Python.
>
> Something different from<URL:http://docs.python.org/tutorial/>.
>


More : something _opposite_ to the official Python tutorial ;) I found this tutorial very unfriendly and very unsmooth, poorly structured, providing overloaded examples, unable to distinguish essential from incidental, full of bad explanations, etc. OOP presentation is terribly verbose and speculative, chapter on error handling is very hard to follow if you are not aware of the exception mechanism, etc

This is not a surprise, as the abstract explains :

"This tutorial does not attempt to be comprehensive and cover every single feature, or even every commonly used feature."

The nice graphical aspect of the tutorial (thanks to Sphinx) doesn't compensate the many weaknesses of the content.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to