Это то, что прослушивало меня какое-то время. Почему я не могу:
>>> a = ""
>>> a.foo = 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'foo'
... в то время как я могу сделать следующее?
>>> class Bar():
... pass
...
>>> a = Bar()
>>> a.foo = 10 #ok!
Какое правило здесь? Не могли бы вы указать мне какое-то описание?