我曾尝试在python 2.6中执行此操作,但它确实“有效”:
>>> def f(i='I'): return i ... >>> f.func_defaults = (10,) >>> f() 10
但是,这是正式指定的行为,还是我遇到的是特定于实现的行为?
在文档 func_defaults中记录为“可写”,因此它似乎是定义的行为。
func_defaults