Esta pregunta se basa en muchas suposiciones. Si una suposición es incorrecta, entonces todo se cae. Todavía soy relativamente nuevo en Python y acabo de ingresar a la fase curiosa/exploratoria.Clases finales en Python 3.x- algo que Guido no me está diciendo?
Entiendo que Python no admite la creación de clases que no se pueden subclasificar (clases finales). Sin embargo, me parece que la clase bool en Python no se puede subclasificar. Esto tiene sentido cuando se considera la intención de la clase bool (porque se supone que bool solo tiene dos valores: verdadero y falso), y estoy contento con eso. Lo que quiero saber es cómo esta clase se marcó como final.
Así que mi pregunta es: ¿cómo exactamente Guido logró evitar la subclasificación de bool?
>>> 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
pregunta relacionada:Why I can't extend bool in Python?
Enlace a la documentación: http://docs.python.org /c-api/typeobj.html#Py_TPFLAGS_BASETYPE –