这是一件让我困扰一段时间的事情.为什么我不能这样做:
>>> a = ""
>>> a.foo = 2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'str' object has no attribute 'foo'
Run Code Online (Sandbox Code Playgroud)
......虽然我可以做以下事情?
>>> class Bar():
... pass
...
>>> a = Bar()
>>> a.foo = 10 #ok!
Run Code Online (Sandbox Code Playgroud)
这里的规则是什么?你能指点我一些描述吗?