在下面的代码中,我定义了一个f
具有变量 y 的函数。我试图在函数外部调用 fy 并引发错误。但它允许我分配f.y=11
甚至新的属性f.x=12
。但调用 f() 不会更新y
. 那么这个f.y
或f.x
附着在哪里。是否可以更改y
函数内部。
>>> def f():
... y = 10
... print y
...
>>> f.y
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'function' object has no attribute 'y'
>>> f.y = 11
>>> f()
10
编辑:这也无济于事
>>> def f():
... f.y = 10
... print f.y
...
>>> f()
10
>>> f.y=11
>>> f()
10
>>