A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://mail.python.org/pipermail/python-dev/2004-February/042555.html below:

[Python-Dev] bool does not want to be subclassed?

[Python-Dev] bool does not want to be subclassed?"Martin v. Löwis" martin at v.loewis.de
Fri Feb 13 02:47:19 EST 2004
Joshua Marshall wrote:
> I don't think I'm convinced; the same argument could be used for
> integers (if it doesn't make sense to create a sort of boolean which
> isn't in the set { true, false }, then it doesn't make sense to
> create a sort of integer which isn't in the set { ..., -2, -1, 0, 1,
> 2, ... }).  And maybe it doesn't, but this isn't the only reason for
> subclassing.  Another reason for subclassing is to create items which
> can act like existing objects, but which have some additional
> behavior.

And indeed, for int, it is possible to have subclasses which have new
instances whose values are in the set {..., -2, -1, 0, 1, 2, ...}.
Indeed, it is possible to have multiple instances of int *itself* whose
value is, say, 1000:

 >>> 500+500 is 500+500
False

The same is not true for bool: There are only two *instances* of the
type, not just two equivalence classes of equal values:

 >>> (4>5) is (3>9)
True

So bool guarantees: a) there are only two distinct values, and b)
there are only two different objects representing these values.
It is property b) which prohibits subclassing.

Regards,
Martin


More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4