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. -- http://mail.python.org/mailman/listinfo/python-list