Fondamentalement, je veux savoir pourquoi cela fonctionne:Pourquoi ne puis-je pas affecter des attributs non déclarés d'une instance object(), mais je peux le faire avec des classes personnalisées?
class MyClass:
pass
myObj = MyClass()
myObj.foo = 'a'
Mais retourne un AttributeError:
myObj = object()
myObj.foo = 'a'
Comment puis-je savoir quelles sont les classes que je peux utiliser des attributs non définis avec et que je ne peux pas?
Merci.
-à-dire, une classe définie par l'utilisateur fera – pberkes
@pberkes: Nope, vous pouvez faire des classes sans '__dict__' (habituellement Utilisé pour l'efficacité de la mémoire si vous attendez _lots_ d'instances – katrielalex
@katrielatex: Je vois ... c'est bon à savoir! – pberkes