+ -
当前位置:首页 → 问答吧 → Python默认参数为list,dict的话,只会初始化一次

Python默认参数为list,dict的话,只会初始化一次

时间:2011-04-08

来源:互联网

Python默认参数为list,dict的话,只会初始化一次




最近发现一个非常诡异的BUG,找了半天,才知道python函数的默认参数为dict的话,只会初始化一次

汗,孤陋寡闻了。。



  1. def a( xxx = {} ):

  2.         xxx.apend(11)  

  3.         print xxx



  4. a()

  5. a()

  6. a()
复制代码
输出为

11

11 11

11 11 11

而非

11

11

11



切记切记,共习之

作者: 中关村村草   发布时间: 2011-04-08

具体细节,可以参考 这篇文章

作者: llbgurs   发布时间: 2011-04-08