這個問題是建立在許多假設之上的。如果一個假設是錯誤的,那麼整個事情就會崩潰。我對Python還比較陌生,剛進入好奇/探索階段。Python 3.x中的最終課程Guido沒有告訴我什麼?
我的理解是Python不支持創建不能被分類的類(final類)。但是,在我看來,Python中的類不能被繼承。當考慮到bool類的意圖時,這是有意義的(因爲bool只應該有兩個值:true和false),我對此很滿意。我想知道的是如何這個班級被標記爲final。
所以我的問題是:圭多如何設法防止布爾的子類化?
>>> class TestClass(bool):
pass
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
class TestClass(bool):
TypeError: type 'bool' is not an acceptable base type
相關問題:Why I can't extend bool in Python?
鏈接到文檔:http://docs.python.org /c-api/typeobj.html#Py_TPFLAGS_BASETYPE – 2010-05-13 08:56:15