Ich würde gerne wissen, warum man ein neues Attribut ("neu" bedeutet "nicht zuvor im Klassenkörper definiert") für eine Instanz eines benutzerdefinierten Typs erstellen kann, aber nicht in der Lage ist, dasselbe für a zu tun Eingebauter Typ, wie object
selbst.Warum akzeptieren benutzerdefinierte Typen Ad-hoc-Attribute in Python (und nicht integrierte Builds)?
Ein Codebeispiel:
>>> class SomeClass(object):
... pass
...
>>> sc = SomeClass()
>>> sc.name = "AAA"
>>> sc.name
'AAA'
>>> obj = object()
>>> obj.name = "BBB"
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'object' object has no attribute 'name'