On 8/16/12 2:56 PM, Ian Kelly wrote:
On Thu, Aug 16, 2012 at 6:47 AM, Hans Mulder <han...@xs4all.nl> wrote:
On 8/08/12 04:14:01, Steven D'Aprano wrote:
NoneType raises an error if you try to create a second instance. bool
just returns one of the two singletons (doubletons?) again.

py> type(None)()
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
TypeError: cannot create 'NoneType' instances

Why is that?

Why doesn't it just return an existing instance of the type,
like bool, int, str and other built-in non-mutable types do?

Because unlike those other types there is no use case for that.  It's
simpler to raise an error.

What are the use cases for the empty-argument versions of bool(), int(), float(), and str()?

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

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

Reply via email to