是否允许您在Py​​thon中修改func_defaults在Python 3.x中为__defaults__?

问题描述

文档func_defaults中记录为“可写”,因此它似乎是定义的行为。

解决方法

我曾尝试在python 2.6中执行此操作,但它确实“有效”:

>>> def f(i='I'): return i
...
>>> f.func_defaults = (10,)
>>> f()
10

但是,这是正式指定的行为,还是我遇到的是特定于实现的行为?