>>> class BOOL(bool): ... print "why?" ... why? Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Error when calling the metaclass bases type 'bool' is not an acceptable base type
我以为Python信任程序员。
圭多对此的看法:
我昨晚想到了这一点,意识到根本不应该允许您继承bool!子类仅在具有实例时才有用,但是仅存在bool子类的实例将打破不变的事实,即True和False是bool的唯一实例!(C的子类的实例也是C的实例。)我认为重要的是不要提供后门来创建其他bool实例,因此我认为bool不应是子类的。